Revision 44389 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.api/src/main/java/org/gvsig/expressionevaluator/spi/AbstractFunction.java

View differences:

AbstractFunction.java
1 1
package org.gvsig.expressionevaluator.spi;
2 2

  
3
import java.io.File;
3 4
import java.io.InputStream;
5
import java.net.URI;
6
import java.net.URISyntaxException;
4 7
import java.net.URL;
5 8
import java.time.LocalDateTime;
6 9
import java.time.ZoneId;
......
205 208
        return Objects.toString(args[n], "");
206 209
    }
207 210
    
211
    protected File getFile(Object args[], int n) {
212
        if( args.length < n  ) {
213
            throw new IllegalArgumentException(I18N.Required_argument_XargnX_and_only_found_XargcX_in_call_to_XIdentifierX(name(), args.length, n));
214
        }
215
        Object arg = args[n];
216
        if( arg == null ) {
217
            return null;
218
        }
219
        if( arg instanceof File ) {
220
            return (File)arg;
221
        }
222
        if( arg instanceof URL ) {
223
            try {
224
                return new File(((URL)arg).toURI());
225
            } catch (URISyntaxException ex) {
226
                return null;
227
            }
228
        }
229
        if( arg instanceof URI ) {
230
            return new File(((URI)arg));
231
        }
232
        String s = Objects.toString(arg, null);
233
        if( s == null ) {
234
            return null;
235
        }
236
        File f = new File(s);
237
        return f;
238
    }
239
    
208 240
    protected Object getObject(Object args[], int n) {
209 241
        if( args.length < n  ) {
210 242
            throw new IllegalArgumentException(I18N.Required_argument_XargnX_and_only_found_XargcX_in_call_to_XIdentifierX(name(), args.length, n));

Also available in: Unified diff