1\paragraph{} 2\label{JSS:*CL-USER-COMPATIBILITY*} 3\index{*CL-USER-COMPATIBILITY*} 4--- Variable: \textbf{*cl-user-compatibility*} [\textbf{jss}] \textit{} 5 6\begin{adjustwidth}{5em}{5em} 7Whether backwards compatibility with JSS's use of CL-USER has been enabled. 8\end{adjustwidth} 9 10\paragraph{} 11\label{JSS:*DO-AUTO-IMPORTS*} 12\index{*DO-AUTO-IMPORTS*} 13--- Variable: \textbf{*do-auto-imports*} [\textbf{jss}] \textit{} 14 15\begin{adjustwidth}{5em}{5em} 16Whether to automatically introspect all Java classes on the classpath when JSS is loaded. 17\end{adjustwidth} 18 19\paragraph{} 20\label{JSS:*MUFFLE-WARNINGS*} 21\index{*MUFFLE-WARNINGS*} 22--- Variable: \textbf{*muffle-warnings*} [\textbf{jss}] \textit{} 23 24\begin{adjustwidth}{5em}{5em} 25Attempt to make JSS less chatting about how things are going. 26\end{adjustwidth} 27 28\paragraph{} 29\label{JSS:CLASSFILES-IMPORT} 30\index{CLASSFILES-IMPORT} 31--- Function: \textbf{classfiles-import} [\textbf{jss}] \textit{directory} 32 33\begin{adjustwidth}{5em}{5em} 34Load all Java classes recursively contained under DIRECTORY in the current process. 35\end{adjustwidth} 36 37\paragraph{} 38\label{JSS:ENSURE-COMPATIBILITY} 39\index{ENSURE-COMPATIBILITY} 40--- Function: \textbf{ensure-compatibility} [\textbf{jss}] \textit{} 41 42\begin{adjustwidth}{5em}{5em} 43Ensure backwards compatibility with JSS's use of CL-USER. 44\end{adjustwidth} 45 46\paragraph{} 47\label{JSS:FIND-JAVA-CLASS} 48\index{FIND-JAVA-CLASS} 49--- Function: \textbf{find-java-class} [\textbf{jss}] \textit{name} 50 51\begin{adjustwidth}{5em}{5em} 52not-documented 53\end{adjustwidth} 54 55\paragraph{} 56\label{JSS:GET-JAVA-FIELD} 57\index{GET-JAVA-FIELD} 58--- Function: \textbf{get-java-field} [\textbf{jss}] \textit{object field \&optional (try-harder *running-in-osgi*)} 59 60\begin{adjustwidth}{5em}{5em} 61Get the value of the FIELD contained in OBJECT. 62If OBJECT is a symbol it names a dot qualified static FIELD. 63\end{adjustwidth} 64 65\paragraph{} 66\label{JSS:HASHMAP-TO-HASHTABLE} 67\index{HASHMAP-TO-HASHTABLE} 68--- Function: \textbf{hashmap-to-hashtable} [\textbf{jss}] \textit{hashmap \&rest rest \&key (keyfun (function identity)) (valfun (function identity)) (invert? NIL) table \&allow-other-keys} 69 70\begin{adjustwidth}{5em}{5em} 71Converts the a HASHMAP reference to a java.util.HashMap object to a Lisp hashtable. 72 73The REST paramter specifies arguments to the underlying MAKE-HASH-TABLE call. 74 75KEYFUN and VALFUN specifies functions to be run on the keys and values 76of the HASHMAP right before they are placed in the hashtable. 77 78If INVERT? is non-nil than reverse the keys and values in the resulting hashtable. 79\end{adjustwidth} 80 81\paragraph{} 82\label{JSS:INVOKE-ADD-IMPORTS} 83\index{INVOKE-ADD-IMPORTS} 84--- Macro: \textbf{invoke-add-imports} [\textbf{jss}] \textit{} 85 86\begin{adjustwidth}{5em}{5em} 87Push these imports onto the search path. If multiple, earlier in list take precedence 88\end{adjustwidth} 89 90\paragraph{} 91\label{JSS:INVOKE-RESTARGS} 92\index{INVOKE-RESTARGS} 93--- Function: \textbf{invoke-restargs} [\textbf{jss}] \textit{method object args \&optional (raw? NIL)} 94 95\begin{adjustwidth}{5em}{5em} 96not-documented 97\end{adjustwidth} 98 99\paragraph{} 100\label{JSS:ITERABLE-TO-LIST} 101\index{ITERABLE-TO-LIST} 102--- Function: \textbf{iterable-to-list} [\textbf{jss}] \textit{iterable} 103 104\begin{adjustwidth}{5em}{5em} 105Return the items contained the java.lang.Iterable ITERABLE as a list. 106\end{adjustwidth} 107 108\paragraph{} 109\label{JSS:J2LIST} 110\index{J2LIST} 111--- Function: \textbf{j2list} [\textbf{jss}] \textit{thing} 112 113\begin{adjustwidth}{5em}{5em} 114Attempt to construct a Lisp list out of a Java THING. 115 116THING may be a wide range of Java collection types, their common 117iterators or a Java array. 118\end{adjustwidth} 119 120\paragraph{} 121\label{JSS:JAPROPOS} 122\index{JAPROPOS} 123--- Function: \textbf{japropos} [\textbf{jss}] \textit{string} 124 125\begin{adjustwidth}{5em}{5em} 126Output the names of all Java class names loaded in the current process which match STRING.. 127\end{adjustwidth} 128 129\paragraph{} 130\label{JSS:JAR-IMPORT} 131\index{JAR-IMPORT} 132--- Function: \textbf{jar-import} [\textbf{jss}] \textit{file} 133 134\begin{adjustwidth}{5em}{5em} 135Import all the Java classes contained in the pathname FILE into the JSS dynamic lookup cache. 136\end{adjustwidth} 137 138\paragraph{} 139\label{JSS:JARRAY-TO-LIST} 140\index{JARRAY-TO-LIST} 141--- Function: \textbf{jarray-to-list} [\textbf{jss}] \textit{jarray} 142 143\begin{adjustwidth}{5em}{5em} 144Convert the Java array named by JARRARY into a Lisp list. 145\end{adjustwidth} 146 147\paragraph{} 148\label{JSS:JAVA-CLASS-METHOD-NAMES} 149\index{JAVA-CLASS-METHOD-NAMES} 150--- Function: \textbf{java-class-method-names} [\textbf{jss}] \textit{class \&optional stream} 151 152\begin{adjustwidth}{5em}{5em} 153Return a list of the public methods encapsulated by the JVM CLASS. 154 155If STREAM non-nil, output a verbose description to the named output stream. 156 157CLASS may either be a string naming a fully qualified JVM class in dot 158notation, or a symbol resolved against all class entries in the 159current classpath. 160\end{adjustwidth} 161 162\paragraph{} 163\label{JSS:JCLASS-ALL-INTERFACES} 164\index{JCLASS-ALL-INTERFACES} 165--- Function: \textbf{jclass-all-interfaces} [\textbf{jss}] \textit{class} 166 167\begin{adjustwidth}{5em}{5em} 168Return a list of interfaces the class implements 169\end{adjustwidth} 170 171\paragraph{} 172\label{JSS:JCMN} 173\index{JCMN} 174--- Function: \textbf{jcmn} [\textbf{jss}] \textit{class \&optional stream} 175 176\begin{adjustwidth}{5em}{5em} 177Return a list of the public methods encapsulated by the JVM CLASS. 178 179If STREAM non-nil, output a verbose description to the named output stream. 180 181CLASS may either be a string naming a fully qualified JVM class in dot 182notation, or a symbol resolved against all class entries in the 183current classpath. 184\end{adjustwidth} 185 186\paragraph{} 187\label{JSS:JLIST-TO-LIST} 188\index{JLIST-TO-LIST} 189--- Function: \textbf{jlist-to-list} [\textbf{jss}] \textit{list} 190 191\begin{adjustwidth}{5em}{5em} 192Convert a LIST implementing java.util.List to a Lisp list. 193\end{adjustwidth} 194 195\paragraph{} 196\label{JSS:JMAP} 197\index{JMAP} 198--- Function: \textbf{jmap} [\textbf{jss}] \textit{function thing} 199 200\begin{adjustwidth}{5em}{5em} 201Call FUNCTION for every element in the THING. Returns NIL. 202 203THING may be a wide range of Java collection types, their common iterators or 204a Java array. 205 206In case the THING is a map-like object, FUNCTION will be called with two 207arguments, key and value. 208\end{adjustwidth} 209 210\paragraph{} 211\label{JSS:LIST-TO-LIST} 212\index{LIST-TO-LIST} 213--- Function: \textbf{list-to-list} [\textbf{jss}] \textit{list} 214 215\begin{adjustwidth}{5em}{5em} 216not-documented 217\end{adjustwidth} 218 219\paragraph{} 220\label{JSS:NEW} 221\index{NEW} 222--- Function: \textbf{new} [\textbf{jss}] \textit{class-name \&rest args} 223 224\begin{adjustwidth}{5em}{5em} 225Invoke the Java constructor for CLASS-NAME with ARGS. 226 227CLASS-NAME may either be a symbol or a string according to the usual JSS conventions. 228\end{adjustwidth} 229 230\paragraph{} 231\label{JSS:SET-JAVA-FIELD} 232\index{SET-JAVA-FIELD} 233--- Function: \textbf{set-java-field} [\textbf{jss}] \textit{object field value \&optional (try-harder *running-in-osgi*)} 234 235\begin{adjustwidth}{5em}{5em} 236Set the FIELD of OBJECT to VALUE. 237If OBJECT is a symbol, it names a dot qualified Java class to look for 238a static FIELD. If OBJECT is an instance of java:java-object, the 239associated is used to look up the static FIELD. 240\end{adjustwidth} 241 242\paragraph{} 243\label{JSS:SET-TO-LIST} 244\index{SET-TO-LIST} 245--- Function: \textbf{set-to-list} [\textbf{jss}] \textit{set} 246 247\begin{adjustwidth}{5em}{5em} 248Convert the java.util.Set named in SET to a Lisp list. 249\end{adjustwidth} 250 251\paragraph{} 252\label{JSS:TO-HASHSET} 253\index{TO-HASHSET} 254--- Function: \textbf{to-hashset} [\textbf{jss}] \textit{list} 255 256\begin{adjustwidth}{5em}{5em} 257Convert LIST to the java.util.HashSet contract 258\end{adjustwidth} 259 260\paragraph{} 261\label{JSS:VECTOR-TO-LIST} 262\index{VECTOR-TO-LIST} 263--- Function: \textbf{vector-to-list} [\textbf{jss}] \textit{vector} 264 265\begin{adjustwidth}{5em}{5em} 266Return the elements of java.lang.Vector VECTOR as a list. 267\end{adjustwidth} 268 269\paragraph{} 270\label{JSS:WITH-CONSTANT-SIGNATURE} 271\index{WITH-CONSTANT-SIGNATURE} 272--- Macro: \textbf{with-constant-signature} [\textbf{jss}] \textit{} 273 274\begin{adjustwidth}{5em}{5em} 275Expand all references to FNAME-JNAME-PAIRS in BODY into static function calls promising that the same function bound in the FNAME-JNAME-PAIRS will be invoked with the same argument signature. 276 277FNAME-JNAME-PAIRS is a list of (symbol function \&optional raw) 278elements where symbol will be the symbol bound to the method named by 279the string function. If the optional parameter raw is non-nil, the 280result will be the raw JVM object, uncoerced by the usual conventions. 281 282Use this macro if you are making a lot of calls and 283want to avoid the overhead of the dynamic dispatch. 284\end{adjustwidth} 285 286