package org.geotools.filter.function;


//this code is autogenerated - you shouldnt be modifying it!

import org.geotools.filter.FunctionExpression;
import org.geotools.filter.FunctionExpressionImpl;

import com.vividsolutions.jts.geom.Geometry;


public class FilterFunction_getZ extends FunctionExpressionImpl implements
        FunctionExpression {

    public FilterFunction_getZ() {
        super("getZ");
    }

    public int getArgCount() {
        return 1;
    }

    public Object evaluate(Object feature) {
        Geometry  arg0;


        try{  //attempt to get value and perform conversion
            arg0 = (Geometry) getExpression(0).evaluate(feature);
        }
        catch (Exception e) // probably a type error
        {
              throw new IllegalArgumentException("Filter Function problem for function getZ argument #0 - expected type Geometry");
        }

        return new Double(arg0.getCentroid().getCoordinate().z);
        
    }
}


