Class AreaFunction
- java.lang.Object
-
- adql.query.operand.function.ADQLFunction
-
- adql.query.operand.function.geometry.GeometryFunction
-
- adql.query.operand.function.geometry.AreaFunction
-
- All Implemented Interfaces:
ADQLObject
,ADQLOperand
public class AreaFunction extends GeometryFunction
It represents the AREA function of ADQL.
This function computes the area, in square degrees, of a given geometry.
Example:
AREA(CIRCLE('ICRS GEOCENTER', 25.4, -20.0, 1)).Inappropriate geometries for this construct (e.g. POINT) SHOULD either return zero or throw an error message. This choice must be done in an extended class of
AreaFunction
.- Version:
- 1.4 (06/2015)
- Author:
- Grégory Mantelet (CDS;ARI)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class adql.query.operand.function.geometry.GeometryFunction
GeometryFunction.GeometryValue<F extends GeometryFunction>
-
Nested classes/interfaces inherited from class adql.query.operand.function.ADQLFunction
ADQLFunction.ParameterIterator
-
-
Field Summary
-
Fields inherited from class adql.query.operand.function.geometry.GeometryFunction
coordSys
-
-
Constructor Summary
Constructors Constructor Description AreaFunction(AreaFunction toCopy)
Builds an AREA function by copying the given one.AreaFunction(GeometryFunction.GeometryValue<GeometryFunction> param)
Builds an AREA function with its parameter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ADQLObject
getCopy()
Gets a (deep) copy of this ADQL object.java.lang.String
getName()
Gets the name of this object in ADQL.int
getNbParameters()
Gets the number of parameters this function has.GeometryFunction.GeometryValue<GeometryFunction>
getParameter()
Gets the parameter of the AREA function (so, a region whose the area must be computed).ADQLOperand
getParameter(int index)
Gets the index-th parameter.ADQLOperand[]
getParameters()
Gets the list of all parameters of this function.boolean
isGeometry()
Tell whether this operand is a geometrical region or not.boolean
isNumeric()
Tell whether this operand is numeric or not.boolean
isString()
Tell whether this operand is a string or not.ADQLOperand
setParameter(int index, ADQLOperand replacer)
Replaces the index-th parameter by the given one.void
setParameter(GeometryFunction.GeometryValue<GeometryFunction> parameter)
Sets the parameter of the AREA function (so, a region whose the area must be computed).-
Methods inherited from class adql.query.operand.function.geometry.GeometryFunction
getCoordinateSystem, setCoordinateSystem
-
Methods inherited from class adql.query.operand.function.ADQLFunction
adqlIterator, getPosition, paramIterator, setPosition, toADQL
-
-
-
-
Constructor Detail
-
AreaFunction
public AreaFunction(GeometryFunction.GeometryValue<GeometryFunction> param) throws java.lang.NullPointerException
Builds an AREA function with its parameter.- Parameters:
param
- Parameter of AREA.- Throws:
java.lang.NullPointerException
- If the given operand is null or if it's not aGeometryFunction
.
-
AreaFunction
public AreaFunction(AreaFunction toCopy) throws java.lang.Exception
Builds an AREA function by copying the given one.- Parameters:
toCopy
- The AREA function to copy.- Throws:
java.lang.Exception
- If there is an error during the copy.
-
-
Method Detail
-
getParameter
public final GeometryFunction.GeometryValue<GeometryFunction> getParameter()
Gets the parameter of the AREA function (so, a region whose the area must be computed).- Returns:
- A region.
-
setParameter
public final void setParameter(GeometryFunction.GeometryValue<GeometryFunction> parameter)
Sets the parameter of the AREA function (so, a region whose the area must be computed).- Parameters:
parameter
- A region.
-
getCopy
public ADQLObject getCopy() throws java.lang.Exception
Description copied from interface:ADQLObject
Gets a (deep) copy of this ADQL object.- Returns:
- The copy of this ADQL object.
- Throws:
java.lang.Exception
- If there is any error during the copy.
-
getName
public java.lang.String getName()
Description copied from interface:ADQLObject
Gets the name of this object in ADQL.- Returns:
- The name of this ADQL object.
-
isNumeric
public boolean isNumeric()
Description copied from interface:ADQLOperand
Tell whether this operand is numeric or not.- Returns:
- true if this operand is numeric, false otherwise.
-
isString
public boolean isString()
Description copied from interface:ADQLOperand
Tell whether this operand is a string or not.- Returns:
- true if this operand is a string, false otherwise.
-
isGeometry
public boolean isGeometry()
Description copied from interface:ADQLOperand
Tell whether this operand is a geometrical region or not.- Returns:
- true if this operand is a geometry, false otherwise.
-
getParameters
public ADQLOperand[] getParameters()
Description copied from class:ADQLFunction
Gets the list of all parameters of this function.- Specified by:
getParameters
in classADQLFunction
- Returns:
- Its parameters list.
-
getNbParameters
public int getNbParameters()
Description copied from class:ADQLFunction
Gets the number of parameters this function has.- Specified by:
getNbParameters
in classADQLFunction
- Returns:
- Number of parameters.
-
getParameter
public ADQLOperand getParameter(int index) throws java.lang.ArrayIndexOutOfBoundsException
Description copied from class:ADQLFunction
Gets the index-th parameter.- Specified by:
getParameter
in classADQLFunction
- Parameters:
index
- Parameter number.- Returns:
- The corresponding parameter.
- Throws:
java.lang.ArrayIndexOutOfBoundsException
- If the index is incorrect (index < 0 || index >= getNbParameters()).
-
setParameter
public ADQLOperand setParameter(int index, ADQLOperand replacer) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.NullPointerException, java.lang.Exception
Description copied from class:ADQLFunction
Replaces the index-th parameter by the given one.- Specified by:
setParameter
in classADQLFunction
- Parameters:
index
- Index of the parameter to replace.replacer
- The replacer.- Returns:
- The replaced parameter.
- Throws:
java.lang.ArrayIndexOutOfBoundsException
- If the index is incorrect (index < 0 || index >= getNbParameters()).java.lang.NullPointerException
- If a required parameter must be replaced by a NULL object.java.lang.Exception
- If another error occurs.
-
-