Collection of static functions for working with Java objects
| Myna. JavaUtils | Collection of static functions for working with Java objects |
| Functions | |
| base64ToByteArray | returns a Java byte[] from a Base64 string |
| beanToObject | Attempts to convert a JavaBean in to JavaScript object |
| byteArrayToHex | returns HEX string representation of a Java byte[] |
| byteArrayToBase64 | returns Base64 string representation of a Java byte[] |
| createSyncFunction | returns a thread-safe version of a javascript function |
| createByteArray | returns a java Byte array of the supplied size |
| createClassArray | returns a java Byte array of the supplied size |
| createCharArray | returns a java Character array of the supplied size |
| enumToArray | Converts a Java enumeration into a JavaScript Array. |
| hexToByteArray | returns a Java byte[] representation of a HEX string |
| mapToObject | returns a Java Map as a JavaScript Object |
| readerToString | returns a JavaScript String containing the entire contents off the supplied Java Reader. |
| streamToString | returns a JavaScript String containing the entire contents off the supplied Java InputStream. |
| streamToByteArray | returns a Java byte[] containing the entire contents off the supplied Java InputStream. |
| streamCopy | Copies a java.io.InputStream to a java.io.OutputStream |
| readerToByteArray | returns a Java byte[] containing the entire contents off the supplied Java Reader. |
Myna.JavaUtils.base64ToByteArray = function( string )
returns a Java byte[] from a Base64 string
| bytes | byte array to convert |
Myna.JavaUtils.beanToObject=function( bean )
Attempts to convert a JavaBean in to JavaScript object
| bean | Java object to convert |
JavaScript Object
This function examines bean and looks for functions that start with “get” followed by at least one other character. These functions are executed and their values are returned as a Javascript object where the property names are the get functions minus the “get” and the following character lower cased. Functions that start with “is” are treated similarly, except the “is” is kept in the proerty name
*EXAMPLE*
this class...
public class PersonBean implements java.io.Serializable {
private name="bob";
private deceased=true;
...
public String getName() {
return this.name;
}
public boolean isDeceased() {
return this.deceased;
}
}
would become...
{
name:"bob",
isDeceased:true
}
Myna.JavaUtils.byteArrayToHex = function( bytes )
returns HEX string representation of a Java byte[]
| bytes | byte array to convert |
Myna.JavaUtils.byteArrayToBase64 = function( bytes, urlSafe )
returns Base64 string representation of a Java byte[]
| bytes | byte array to convert |
| urlSafe | Optional, default false If true, then the characters + and / and = will be replaced with |
Myna.JavaUtils.createSyncFunction=function( functionObject )
returns a thread-safe version of a javascript function
| functionObject | JavaScript Function object to synchronize |
a thread-safe version functionObject, similar to synchronized keyword for Java functions
var s ={
string:"",
append:Myna.JavaUtils.createSyncFunction(function(val){
// This kind of multi-step string manipulation usually results in
// thread collision, but "sync"ing the function ensures that all
// steps are completed before another thread can run the same
// function
var s = this
var old =s.string
Myna.sleep(10); //gives another thread the chance to whomp our string
s.string= old+val;
})
}
Array.dim(10).forEach(function(d,i){
new Myna.Thread(function(i,s){
s.append(i+",");
},[i,s])
})
Myna.Thread.joinAll();
Myna.printDump(s.string.split(/,/));
Myna.JavaUtils.createByteArray=function( size )
returns a java Byte array of the supplied size
| size | initial size of array |
When working with binary data or streams it is often necessary to pass a Byte array to java functions as a buffer. This function will create this buffer for you
Myna.JavaUtils.createClassArray=function( className, size )
returns a java Byte array of the supplied size
| className | full classname to instantiate, e.g. java.lang.String |
| size | initial size of array |
creates an array of a particular class
Myna.JavaUtils.createCharArray=function( size )
returns a java Character array of the supplied size
When working with striong data or streams it is often necessary to pass a Character array to java functions as a buffer. This function will create this buffer for you
Myna.JavaUtils.enumToArray=function( enumeration )
Converts a Java enumeration into a JavaScript Array.
| enumeration | Java enumeration to iterate over |
JS Array object
Myna.JavaUtils.hexToByteArray = function( string )
returns a Java byte[] representation of a HEX string
| string | byte array to convert |
Myna.JavaUtils.mapToObject=function( map )
returns a Java Map as a JavaScript Object
| map | Java Map (or subclass/implementation) |
a Java Map as a JavaScript Object
This function loops through all of the entries in the map and creates a property on the returned object for each key and sets it equal to the entry’s value.
Myna.JavaUtils.readerToString=function( reader )
returns a JavaScript String containing the entire contents off the supplied Java Reader.
| reader | Java Reader (or subclass/implementation) |
Myna.JavaUtils.streamToString=function( stream )
returns a JavaScript String containing the entire contents off the supplied Java InputStream.
| stream | Java InputStream (or subclass/implementation) |
Myna.JavaUtils.streamToByteArray=function( stream )
returns a Java byte[] containing the entire contents off the supplied Java InputStream.
| stream | Java InputStream (or subclass/implementation) |
Myna.JavaUtils.streamCopy=function( input, output, closeStreams )
Copies a java.io.InputStream to a java.io.OutputStream
| input | Java InputStream (or subclass/implementation) |
| output | Java OutputStream (or subclass/implementation) |
| closeStreams | Optional, default false If true, both streams will be closed after the copy |
returns a Java byte[] from a Base64 string
Myna.JavaUtils.base64ToByteArray = function( string )
Attempts to convert a JavaBean in to JavaScript object
Myna.JavaUtils.beanToObject=function( bean )
returns HEX string representation of a Java byte[]
Myna.JavaUtils.byteArrayToHex = function( bytes )
returns Base64 string representation of a Java byte[]
Myna.JavaUtils.byteArrayToBase64 = function( bytes, urlSafe )
returns a thread-safe version of a javascript function
Myna.JavaUtils.createSyncFunction=function( functionObject )
returns a java Byte array of the supplied size
Myna.JavaUtils.createByteArray=function( size )
returns a java Byte array of the supplied size
Myna.JavaUtils.createClassArray=function( className, size )
returns a java Character array of the supplied size
Myna.JavaUtils.createCharArray=function( size )
Converts a Java enumeration into a JavaScript Array.
Myna.JavaUtils.enumToArray=function( enumeration )
returns a Java byte[] representation of a HEX string
Myna.JavaUtils.hexToByteArray = function( string )
returns a Java Map as a JavaScript Object
Myna.JavaUtils.mapToObject=function( map )
returns a JavaScript String containing the entire contents off the supplied Java Reader.
Myna.JavaUtils.readerToString=function( reader )
returns a JavaScript String containing the entire contents off the supplied Java InputStream.
Myna.JavaUtils.streamToString=function( stream )
returns a Java byte[] containing the entire contents off the supplied Java InputStream.
Myna.JavaUtils.streamToByteArray=function( stream )
Copies a java.io.InputStream to a java.io.OutputStream
Myna.JavaUtils.streamCopy=function( input, output, closeStreams )
returns a Java byte[] containing the entire contents off the supplied Java Reader.
Myna.JavaUtils.readerToByteArray=function( reader )
returns a synchronized version of a function that can only executed by one thread at a time.
Myna.sync=function( func )