Revision 45098 trunk/org.gvsig.desktop/org.gvsig.desktop.framework/org.gvsig.andami/src/main/java/org/gvsig/andami/impl/DefaultArguments.java

View differences:

DefaultArguments.java
1 1
package org.gvsig.andami.impl;
2 2

  
3
import java.time.LocalDate;
3 4
import java.util.ArrayList;
4 5
import java.util.Collections;
6
import java.util.Date;
5 7
import java.util.HashMap;
6 8
import java.util.Iterator;
7 9
import java.util.List;
8 10
import java.util.Map;
11
import org.apache.commons.lang3.BooleanUtils;
12
import org.apache.commons.lang3.StringUtils;
9 13
import org.gvsig.andami.Arguments;
14
import org.gvsig.tools.dataTypes.DataTypeUtils;
10 15

  
11 16
public class DefaultArguments implements Arguments {
12 17

  
......
56 61
    }
57 62

  
58 63
    @Override
64
    public Object get(String name, Object defaultValue) {
65
        String value = this.get(name);
66
        if( defaultValue == null ) {
67
            return value;
68
        }
69
        if( StringUtils.isBlank(value) ) {
70
            return defaultValue;
71
        }
72
        if( defaultValue instanceof CharSequence ) {
73
            return value;
74
        }
75
        if( defaultValue instanceof Integer ) {
76
            return DataTypeUtils.toInteger(value, (Integer) defaultValue);
77
        }
78
        if( defaultValue instanceof Long ) {
79
            return DataTypeUtils.toLong(value, (Long) defaultValue);
80
        }
81
        if( defaultValue instanceof Boolean ) {
82
            try {
83
                return DataTypeUtils.toBoolean(value, (Boolean) defaultValue);
84
            } catch(Throwable th) {
85
                return BooleanUtils.toBoolean(value);
86
            }
87
        }
88
        if( defaultValue instanceof Double ) {
89
            return DataTypeUtils.toDouble(value, (Double) defaultValue);
90
        }
91
        if( defaultValue instanceof Float ) {
92
            return DataTypeUtils.toDouble(value, (Float) defaultValue);
93
        }
94
        if( defaultValue instanceof Date ) {
95
            return DataTypeUtils.toDate(value, (Date) defaultValue);
96
        }
97
        return value;
98
    }
99

  
100
    @Override
59 101
    public boolean contains(String name) {
60 102
        return this.flags.containsKey(name);
61 103
    }
62 104

  
63 105
    @Override
106
    public boolean contains(String name, String value) {
107
        String x = this.flags.get(name);
108
        if( x==null ) {
109
            return false;
110
        }
111
        return StringUtils.equalsIgnoreCase(value, x);
112
    } 
113

  
114
    @Override
64 115
    public List<String> parameters() {
65 116
        return Collections.unmodifiableList(parameters);
66 117
    }

Also available in: Unified diff