annotate src/luan/modules/Utils.java @ 1802:ca98dee04e08 default tip

add Parsers.json_null
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 21 Apr 2024 21:25:15 -0600
parents 0ba144491a42
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
167
4c0131c2b650 merge luan/lib into modules
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 161
diff changeset
1 package luan.modules;
75
aa7538ae5fb6 can now load modules from classpath
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
2
aa7538ae5fb6 can now load modules from classpath
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
3 import java.io.Reader;
aa7538ae5fb6 can now load modules from classpath
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
4 import java.io.IOException;
115
eacf6ce1b47d add IoLib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 88
diff changeset
5 import java.io.ByteArrayOutputStream;
eacf6ce1b47d add IoLib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 88
diff changeset
6 import java.io.InputStream;
eacf6ce1b47d add IoLib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 88
diff changeset
7 import java.io.OutputStream;
143
fcb81fa2df0d handle urls and java resources as files
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 130
diff changeset
8 import java.io.File;
713
a21e9594307d add Process handling to Utils.java
Franklin Schmidt <fschmidt@gmail.com>
parents: 646
diff changeset
9 import java.io.InputStreamReader;
143
fcb81fa2df0d handle urls and java resources as files
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 130
diff changeset
10 import java.net.URL;
fcb81fa2df0d handle urls and java resources as files
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 130
diff changeset
11 import java.net.MalformedURLException;
1389
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
12 import java.util.Map;
1493
471ef3e6a84e more io
Franklin Schmidt <fschmidt@gmail.com>
parents: 1420
diff changeset
13 import goodjava.io.IoUtils;
1389
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
14 import luan.Luan;
86
6db8f286fa6c _ENV is per module, not global
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 75
diff changeset
15 import luan.LuanException;
251
705d14f4d8ee start web testing
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 237
diff changeset
16 import luan.LuanTable;
582
31926755689e add Thread.synchronized
Franklin Schmidt <fschmidt@gmail.com>
parents: 578
diff changeset
17 import luan.LuanFunction;
75
aa7538ae5fb6 can now load modules from classpath
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
18
aa7538ae5fb6 can now load modules from classpath
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
19
aa7538ae5fb6 can now load modules from classpath
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
20 public final class Utils {
aa7538ae5fb6 can now load modules from classpath
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
21 private Utils() {} // never
aa7538ae5fb6 can now load modules from classpath
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
22
116
1ff1c32417eb more IoLib work and added init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 115
diff changeset
23 static final int bufSize = 8192;
115
eacf6ce1b47d add IoLib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 88
diff changeset
24
646
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
25 private static void checkNotNull(Object v,String expected,int pos) throws LuanException {
86
6db8f286fa6c _ENV is per module, not global
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 75
diff changeset
26 if( v == null )
646
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
27 throw new LuanException("bad argument #"+pos+" ("+expected+" expected, got nil)");
637
6ea90dc10375 bbcode parser now takes a quoter function
Franklin Schmidt <fschmidt@gmail.com>
parents: 582
diff changeset
28 }
6ea90dc10375 bbcode parser now takes a quoter function
Franklin Schmidt <fschmidt@gmail.com>
parents: 582
diff changeset
29
646
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
30 public static void checkNotNull(String s,int pos) throws LuanException {
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
31 checkNotNull(s,"string",pos);
86
6db8f286fa6c _ENV is per module, not global
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 75
diff changeset
32 }
6db8f286fa6c _ENV is per module, not global
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 75
diff changeset
33
646
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
34 public static void checkNotNull(String s) throws LuanException {
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
35 checkNotNull(s,1);
637
6ea90dc10375 bbcode parser now takes a quoter function
Franklin Schmidt <fschmidt@gmail.com>
parents: 582
diff changeset
36 }
6ea90dc10375 bbcode parser now takes a quoter function
Franklin Schmidt <fschmidt@gmail.com>
parents: 582
diff changeset
37
646
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
38 public static void checkNotNull(byte[] b,int pos) throws LuanException {
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
39 checkNotNull(b,"binary",pos);
251
705d14f4d8ee start web testing
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 237
diff changeset
40 }
705d14f4d8ee start web testing
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 237
diff changeset
41
646
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
42 public static void checkNotNull(byte[] b) throws LuanException {
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
43 checkNotNull(b,1);
637
6ea90dc10375 bbcode parser now takes a quoter function
Franklin Schmidt <fschmidt@gmail.com>
parents: 582
diff changeset
44 }
6ea90dc10375 bbcode parser now takes a quoter function
Franklin Schmidt <fschmidt@gmail.com>
parents: 582
diff changeset
45
646
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
46 public static void checkNotNull(LuanTable t,int pos) throws LuanException {
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
47 checkNotNull(t,"table",pos);
305
5e7450ac27f2 rename String.byte() to String.unicode();
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 260
diff changeset
48 }
5e7450ac27f2 rename String.byte() to String.unicode();
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 260
diff changeset
49
646
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
50 public static void checkNotNull(LuanTable t) throws LuanException {
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
51 checkNotNull(t,1);
637
6ea90dc10375 bbcode parser now takes a quoter function
Franklin Schmidt <fschmidt@gmail.com>
parents: 582
diff changeset
52 }
6ea90dc10375 bbcode parser now takes a quoter function
Franklin Schmidt <fschmidt@gmail.com>
parents: 582
diff changeset
53
646
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
54 public static void checkNotNull(Number n,int pos) throws LuanException {
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
55 checkNotNull(n,"number",pos);
251
705d14f4d8ee start web testing
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 237
diff changeset
56 }
705d14f4d8ee start web testing
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 237
diff changeset
57
646
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
58 public static void checkNotNull(Number n) throws LuanException {
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
59 checkNotNull(n,1);
637
6ea90dc10375 bbcode parser now takes a quoter function
Franklin Schmidt <fschmidt@gmail.com>
parents: 582
diff changeset
60 }
6ea90dc10375 bbcode parser now takes a quoter function
Franklin Schmidt <fschmidt@gmail.com>
parents: 582
diff changeset
61
646
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
62 public static void checkNotNull(LuanFunction fn,int pos) throws LuanException {
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
63 checkNotNull(fn,"function",pos);
251
705d14f4d8ee start web testing
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 237
diff changeset
64 }
705d14f4d8ee start web testing
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 237
diff changeset
65
646
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
66 public static void checkNotNull(LuanFunction fn) throws LuanException {
cdc70de628b5 simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents: 637
diff changeset
67 checkNotNull(fn,1);
582
31926755689e add Thread.synchronized
Franklin Schmidt <fschmidt@gmail.com>
parents: 578
diff changeset
68 }
31926755689e add Thread.synchronized
Franklin Schmidt <fschmidt@gmail.com>
parents: 578
diff changeset
69
115
eacf6ce1b47d add IoLib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 88
diff changeset
70 public static byte[] readAll(InputStream in)
eacf6ce1b47d add IoLib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 88
diff changeset
71 throws IOException
eacf6ce1b47d add IoLib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 88
diff changeset
72 {
eacf6ce1b47d add IoLib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 88
diff changeset
73 ByteArrayOutputStream out = new ByteArrayOutputStream();
1493
471ef3e6a84e more io
Franklin Schmidt <fschmidt@gmail.com>
parents: 1420
diff changeset
74 IoUtils.copyAll(in,out);
115
eacf6ce1b47d add IoLib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 88
diff changeset
75 return out.toByteArray();
eacf6ce1b47d add IoLib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 88
diff changeset
76 }
143
fcb81fa2df0d handle urls and java resources as files
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents: 130
diff changeset
77
1389
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
78
1420
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
79 public static String removeString(LuanTable options,String key) throws LuanException {
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
80 Object val = options.remove(key);
1389
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
81 if( val!=null && !(val instanceof String) )
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
82 throw new LuanException( "parameter '"+key+"' must be a string but is a "+Luan.type(val) );
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
83 return (String)val;
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
84 }
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
85
1420
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
86 public static String removeRequiredString(LuanTable options,String key) throws LuanException {
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
87 String s = removeString(options,key);
1392
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
88 if( s==null )
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
89 throw new LuanException( "parameter '"+key+"' is required" );
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
90 return s;
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
91 }
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
92
1420
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
93 public static Number removeNumber(LuanTable options,String key) throws LuanException {
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
94 Object val = options.remove(key);
1389
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
95 if( val!=null && !(val instanceof Number) )
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
96 throw new LuanException( "parameter '"+key+"' must be a string but is a "+Luan.type(val) );
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
97 return (Number)val;
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
98 }
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
99
1420
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
100 public static Integer removeInteger(LuanTable options,String key) throws LuanException {
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
101 Object val = options.remove(key);
1389
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
102 if( val==null )
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
103 return null;
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
104 Integer i = Luan.asInteger(val);
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
105 if( i==null ) {
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
106 String type = val instanceof Number ? val.getClass().getSimpleName().toLowerCase() : Luan.type(val);
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
107 throw new LuanException( "parameter '"+key+"' must be an integer but is a "+type );
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
108 }
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
109 return i;
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
110 }
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
111
1420
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
112 public static LuanTable removeTable(LuanTable options,String key) throws LuanException {
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
113 Object val = options.remove(key);
1389
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
114 if( val!=null && !(val instanceof LuanTable) )
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
115 throw new LuanException( "parameter '"+key+"' must be a table but is a "+Luan.type(val) );
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
116 return (LuanTable)val;
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
117 }
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
118
1420
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
119 public static Boolean removeBoolean(LuanTable options,String key) throws LuanException {
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
120 Object val = options.remove(key);
1389
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
121 if( val!=null && !(val instanceof Boolean) )
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
122 throw new LuanException( "parameter '"+key+"' must be a string but is a "+Luan.type(val) );
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
123 return (Boolean)val;
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
124 }
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
125
1420
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
126 public static LuanFunction removeFunction(LuanTable options,String key) throws LuanException {
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
127 Object val = options.remove(key);
1392
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
128 if( val!=null && !(val instanceof LuanFunction) )
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
129 throw new LuanException( "parameter '"+key+"' must be a function but is a "+Luan.type(val) );
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
130 return (LuanFunction)val;
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
131 }
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
132
1420
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
133 public static LuanFunction removeRequiredFunction(LuanTable options,String key) throws LuanException {
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
134 LuanFunction fn = removeFunction(options,key);
1392
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
135 if( fn==null )
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
136 throw new LuanException( "parameter '"+key+"' is required" );
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
137 return fn;
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
138 }
002152af497a hosted postgres
Franklin Schmidt <fschmidt@gmail.com>
parents: 1389
diff changeset
139
1420
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
140 public static void checkEmpty(LuanTable options) throws LuanException {
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
141 if( !options.isEmpty() )
225808b90cee options handling
Franklin Schmidt <fschmidt@gmail.com>
parents: 1392
diff changeset
142 throw new LuanException( "unrecognized options: "+options.asMap() );
1389
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
143 }
eb8b35dccd99 cleanup and stringify change
Franklin Schmidt <fschmidt@gmail.com>
parents: 1367
diff changeset
144
75
aa7538ae5fb6 can now load modules from classpath
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff changeset
145 }