Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.impl / src / main / java / org / gvsig / expressionevaluator / impl / converterstocode / FeatureSetToCode.java @ 47174

History | View | Annotate | Download (1.56 KB)

1
package org.gvsig.expressionevaluator.impl.converterstocode;
2

    
3
import java.util.Map;
4
import org.gvsig.expressionevaluator.Code;
5
import org.gvsig.expressionevaluator.CodeBuilder;
6
import org.gvsig.expressionevaluator.ConverterToCode;
7
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
8
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager;
9
import org.gvsig.expressionevaluator.MutableCodes;
10
import org.gvsig.fmap.dal.feature.Feature;
11
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
12
import org.gvsig.fmap.dal.feature.FeatureSet;
13
import org.gvsig.fmap.dal.feature.FeatureType;
14

    
15
/**
16
 *
17
 * @author jjdelcerro
18
 */
19
public class FeatureSetToCode implements ConverterToCode {
20

    
21
    @Override
22
    public String getName() {
23
        return "FeatureSet";
24
    }
25

    
26
    @Override
27
    public boolean isApplicable(Object... os) {
28
        return os[0] instanceof FeatureSet;
29
    }
30

    
31
    @Override
32
    public Code toCode(CodeBuilder builder, Object obj, Map props) {
33
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getExpressionEvaluatorManager();
34
        ConverterToCode featureToCode = manager.getConverterToCodeByName("Feature");
35
        MutableCodes args = builder.args();
36
        for (Feature feature : (FeatureSet)obj) {
37
            args.add(featureToCode.toCode(builder, feature, props));
38
        }
39
        return builder.tuple(args);
40
    }
41

    
42
    public static void selfRegister() {
43
        ExpressionEvaluatorManager manager = ExpressionEvaluatorLocator.getExpressionEvaluatorManager();
44
        manager.registerCodeConverter(new FeatureSetToCode());
45
    }
46
}