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 @ 45213
History | View | Annotate | Download (1.57 KB)
1 | 44126 | jjdelcerro | package org.gvsig.expressionevaluator.impl.function.image; |
---|---|---|---|
2 | 43512 | jjdelcerro | |
3 | import org.apache.commons.lang3.Range; |
||
4 | 43521 | jjdelcerro | import org.gvsig.expressionevaluator.Interpreter; |
5 | 43512 | jjdelcerro | import org.gvsig.expressionevaluator.spi.AbstractFunction; |
6 | |||
7 | 44126 | jjdelcerro | public class ImageReadFunction extends AbstractFunction { |
8 | 43512 | jjdelcerro | |
9 | 44126 | jjdelcerro | public ImageReadFunction() {
|
10 | 43512 | jjdelcerro | super(
|
11 | 44126 | jjdelcerro | "Image", "IMAGEREAD", Range.is(1), |
12 | 44924 | jjdelcerro | "Read an image from a data source and return it as a SimpleImage object.\n"
|
13 | 44126 | jjdelcerro | + "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 | 44924 | jjdelcerro | "SimpleImage",
|
25 | 44126 | jjdelcerro | false
|
26 | 43512 | jjdelcerro | ); |
27 | } |
||
28 | |||
29 | @Override
|
||
30 | 44009 | jjdelcerro | public boolean allowConstantFolding() { |
31 | return true; |
||
32 | } |
||
33 | 44126 | jjdelcerro | |
34 | 44009 | jjdelcerro | @Override
|
35 | 43521 | jjdelcerro | public Object call(Interpreter interpreter, Object[] args) { |
36 | 44126 | jjdelcerro | Object arg0 = this.getObject(args, 0); |
37 | SimpleImage image = ImageReadFunction.createSimpleImage(arg0); |
||
38 | if( image.isEmpty() ) {
|
||
39 | return null; |
||
40 | } |
||
41 | 44924 | jjdelcerro | return image;
|
42 | 43512 | jjdelcerro | } |
43 | |||
44 | 44126 | jjdelcerro | public static SimpleImage createSimpleImage(Object source) { |
45 | 44924 | jjdelcerro | if( source instanceof SimpleImage ) { |
46 | return (SimpleImage) source;
|
||
47 | } |
||
48 | 44126 | jjdelcerro | SimpleImage image = new SimpleImage(source);
|
49 | return image;
|
||
50 | } |
||
51 | 43512 | jjdelcerro | } |