svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.expressionevaluator / org.gvsig.expressionevaluator.lib / org.gvsig.expressionevaluator.lib.impl / src / main / java / org / gvsig / expressionevaluator / impl / function / image / ImageReadFunction.java @ 44924
History | View | Annotate | Download (1.57 KB)
1 |
package org.gvsig.expressionevaluator.impl.function.image; |
---|---|
2 |
|
3 |
import org.apache.commons.lang3.Range; |
4 |
import org.gvsig.expressionevaluator.Interpreter; |
5 |
import org.gvsig.expressionevaluator.spi.AbstractFunction; |
6 |
|
7 |
public class ImageReadFunction extends AbstractFunction { |
8 |
|
9 |
public ImageReadFunction() {
|
10 |
super(
|
11 |
"Image", "IMAGEREAD", Range.is(1), |
12 |
"Read an image from a data source and return it as a SimpleImage object.\n"
|
13 |
+ "The data source of the image can be:\n<ul>"
|
14 |
+ "<li>A byte array</li>"
|
15 |
+ "<li>A URL</li>"
|
16 |
+ "<li>A FILE</li>"
|
17 |
+ "<li>A hexadecimal coded string</li>"
|
18 |
+ "<li>A base64 coded string</li>"
|
19 |
+ "</ul>",
|
20 |
"IMAGEREAD({{source}})",
|
21 |
new String[]{ |
22 |
"Value from which to load the image"
|
23 |
}, |
24 |
"SimpleImage",
|
25 |
false
|
26 |
); |
27 |
} |
28 |
|
29 |
@Override
|
30 |
public boolean allowConstantFolding() { |
31 |
return true; |
32 |
} |
33 |
|
34 |
@Override
|
35 |
public Object call(Interpreter interpreter, Object[] args) { |
36 |
Object arg0 = this.getObject(args, 0); |
37 |
SimpleImage image = ImageReadFunction.createSimpleImage(arg0); |
38 |
if( image.isEmpty() ) {
|
39 |
return null; |
40 |
} |
41 |
return image;
|
42 |
} |
43 |
|
44 |
public static SimpleImage createSimpleImage(Object source) { |
45 |
if( source instanceof SimpleImage ) { |
46 |
return (SimpleImage) source;
|
47 |
} |
48 |
SimpleImage image = new SimpleImage(source);
|
49 |
return image;
|
50 |
} |
51 |
} |