Revision 41212 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureAttributeDescriptor.java

View differences:

DefaultFeatureAttributeDescriptor.java
48 48
import org.gvsig.tools.dynobject.DynStruct;
49 49
import org.gvsig.tools.dynobject.exception.DynFieldIsNotAContainerException;
50 50
import org.gvsig.tools.dynobject.exception.DynFieldValidateException;
51
import org.gvsig.tools.evaluator.AbstractEvaluator;
51 52
import org.gvsig.tools.evaluator.Evaluator;
53
import org.gvsig.tools.evaluator.EvaluatorData;
54
import org.gvsig.tools.evaluator.EvaluatorException;
52 55
import org.gvsig.tools.persistence.Persistent;
53 56
import org.gvsig.tools.persistence.PersistentState;
54 57
import org.gvsig.tools.persistence.exception.PersistenceException;
......
618 621
        FeatureAttributeGetter featureAttributeTransform) {
619 622
        this.featureAttributeGetter = featureAttributeTransform;              
620 623
    }	
624
        
625
    private class ConstantValueEvaluator extends AbstractEvaluator {
626
        public Object evaluate(EvaluatorData data) throws EvaluatorException {
627
            return defaultValue;
628
        }
629
        public String getName() {
630
            return "Constant attribute "+name;
631
        }
632
    }
633
    public void setConstantValue(boolean isConstantValue) {
634
        if( isConstantValue ) {
635
            /* Cuando un attributo tiene asociado un evaluador, este se interpreta
636
             * como que no debe cargarse de la fuente de datos subyacente, siendo 
637
             * el evaluador el que se encarga de proporcionar su valor.
638
             * Nos limitamos a asignar un evaluador que retorna simpre el valor
639
             * por defecto para ese attributo.
640
             */
641
            this.evaluator = new ConstantValueEvaluator();
642
        } else {
643
            this.evaluator = null;
644
        }
645
    }
646
    
621 647
}

Also available in: Unified diff