public class PgSphereTranslator extends PostgreSQLTranslator
Actually only the geometrical functions and types are translated in this
class. The other functions are managed by PostgreSQLTranslator.
| Modifier and Type | Class and Description |
|---|---|
protected static class |
PgSphereTranslator.PgSphereGeometryParser
Let parse a geometry serialized with the PgSphere syntax.
|
| Modifier and Type | Field and Description |
|---|---|
protected static double |
ANGLE_CIRCLE_TO_POLYGON
Angle between two points generated while transforming a circle into a polygon.
|
caseSensitivity| Constructor and Description |
|---|
PgSphereTranslator()
Builds a PgSphereTranslator which always translates in SQL all identifiers (schema, table and column) in a case sensitive manner ;
in other words, schema, table and column names will be surrounded by double quotes in the SQL translation.
|
PgSphereTranslator(boolean allCaseSensitive)
Builds a PgSphereTranslator which always translates in SQL all identifiers (schema, table and column) in the specified case sensitivity ;
in other words, schema, table and column names will all be surrounded or not by double quotes in the SQL translation.
|
PgSphereTranslator(boolean catalog,
boolean schema,
boolean table,
boolean column)
Builds a PgSphereTranslator which will always translate in SQL identifiers with the defined case sensitivity.
|
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.String |
circleToPolygon(double[] center,
double radius)
Convert the specified circle into a polygon.
|
DBType |
convertTypeFromDB(int dbmsType,
java.lang.String rawDbmsTypeName,
java.lang.String dbmsTypeName,
java.lang.String[] params)
Convert any type provided by a JDBC driver into a type understandable by the ADQL/TAP library.
|
java.lang.String |
convertTypeToDB(DBType type)
Convert any type provided by the ADQL/TAP library into a type understandable by a JDBC driver.
|
java.lang.String |
translate(AreaFunction areaFunction) |
java.lang.String |
translate(BoxFunction box) |
java.lang.String |
translate(CentroidFunction centroidFunction) |
java.lang.String |
translate(CircleFunction circle) |
java.lang.String |
translate(Comparison comp) |
java.lang.String |
translate(ContainsFunction fct) |
java.lang.String |
translate(DistanceFunction fct) |
java.lang.String |
translate(ExtractCoord extractCoord) |
java.lang.String |
translate(IntersectsFunction fct) |
java.lang.String |
translate(PointFunction point) |
java.lang.String |
translate(PolygonFunction polygon) |
STCS.Region |
translateGeometryFromDB(java.lang.Object jdbcColValue)
Parse the given JDBC column value as a geometry object and convert it into a
STCS.Region. |
java.lang.Object |
translateGeometryToDB(STCS.Region region)
Convert the given STC region into a DB column value.
|
isCaseSensitive, translate, translate, translate, translateappendIdentifier, appendIdentifier, getColumnName, getDefaultADQLFunction, getDefaultADQLList, getDefaultADQLList, getDefaultColumnReference, getQualifiedSchemaName, getQualifiedTableName, getTableName, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translate, translateprotected static double ANGLE_CIRCLE_TO_POLYGON
circleToPolygon(double[], double)public PgSphereTranslator()
public PgSphereTranslator(boolean allCaseSensitive)
allCaseSensitive - true to translate all identifiers in a case sensitive manner (surrounded by double quotes), false for case insensitivity.PostgreSQLTranslator.PostgreSQLTranslator(boolean)public PgSphereTranslator(boolean catalog,
boolean schema,
boolean table,
boolean column)
catalog - true to translate catalog names with double quotes (case sensitive in the DBMS), false otherwise.schema - true to translate schema names with double quotes (case sensitive in the DBMS), false otherwise.table - true to translate table names with double quotes (case sensitive in the DBMS), false otherwise.column - true to translate column names with double quotes (case sensitive in the DBMS), false otherwise.PostgreSQLTranslator.PostgreSQLTranslator(boolean, boolean, boolean, boolean)public java.lang.String translate(PointFunction point) throws TranslationException
translate in interface ADQLTranslatortranslate in class PostgreSQLTranslatorTranslationExceptionpublic java.lang.String translate(CircleFunction circle) throws TranslationException
translate in interface ADQLTranslatortranslate in class PostgreSQLTranslatorTranslationExceptionpublic java.lang.String translate(BoxFunction box) throws TranslationException
translate in interface ADQLTranslatortranslate in class PostgreSQLTranslatorTranslationExceptionpublic java.lang.String translate(PolygonFunction polygon) throws TranslationException
translate in interface ADQLTranslatortranslate in class PostgreSQLTranslatorTranslationExceptionpublic java.lang.String translate(ExtractCoord extractCoord) throws TranslationException
translate in interface ADQLTranslatortranslate in class PostgreSQLTranslatorTranslationExceptionpublic java.lang.String translate(DistanceFunction fct) throws TranslationException
translate in interface ADQLTranslatortranslate in class PostgreSQLTranslatorTranslationExceptionpublic java.lang.String translate(AreaFunction areaFunction) throws TranslationException
translate in interface ADQLTranslatortranslate in class PostgreSQLTranslatorTranslationExceptionpublic java.lang.String translate(CentroidFunction centroidFunction) throws TranslationException
translate in interface ADQLTranslatortranslate in class PostgreSQLTranslatorTranslationExceptionpublic java.lang.String translate(ContainsFunction fct) throws TranslationException
translate in interface ADQLTranslatortranslate in class PostgreSQLTranslatorTranslationExceptionpublic java.lang.String translate(IntersectsFunction fct) throws TranslationException
translate in interface ADQLTranslatortranslate in class PostgreSQLTranslatorTranslationExceptionpublic java.lang.String translate(Comparison comp) throws TranslationException
translate in interface ADQLTranslatortranslate in class JDBCTranslatorTranslationExceptionpublic DBType convertTypeFromDB(int dbmsType, java.lang.String rawDbmsTypeName, java.lang.String dbmsTypeName, java.lang.String[] params)
JDBCTranslatorconvertTypeFromDB in class PostgreSQLTranslatordbmsType - Type returned by a JDBC driver. Note: this value is returned by ResultSetMetadata.getColumnType(int) and correspond to a type of java.sql.TypesrawDbmsTypeName - Full name of the type returned by a JDBC driver. Note: this name is returned by ResultSetMetadata.getColumnTypeName(int) ; this name may contain parametersdbmsTypeName - Name of type, without the eventual parameters. Note: this name is extracted from rawDbmsTypeName.params - The eventual type parameters (e.g. char string length). Note: these parameters are extracted from rawDbmsTypeName.public java.lang.String convertTypeToDB(DBType type)
JDBCTranslatorConvert any type provided by the ADQL/TAP library into a type understandable by a JDBC driver.
Note: The returned DBMS type may contain some parameters between brackets.
convertTypeToDB in class PostgreSQLTranslatortype - The ADQL/TAP library's type to convert.public STCS.Region translateGeometryFromDB(java.lang.Object jdbcColValue) throws ParseException
JDBCTranslatorParse the given JDBC column value as a geometry object and convert it into a STCS.Region.
Note: Generally the returned object will be used to get its STC-S expression.
Note: If the given column value is NULL, NULL will be returned.
Important note:
This function is called ONLY for value of columns flagged as geometries by
JDBCTranslator.convertTypeFromDB(int, String, String, String[]). So the value should always
be of the expected type and format. However, if it turns out that the type is wrong
and that the conversion is finally impossible, this function SHOULD throw a
ParseException.
translateGeometryFromDB in class PostgreSQLTranslatorjdbcColValue - A JDBC column value (returned by ResultSet.getObject(int)).STCS.Region if the given value is a geometry.ParseException - If the given object is not a geometrical object
or can not be transformed into a STCS.Region object.public java.lang.Object translateGeometryToDB(STCS.Region region) throws ParseException
JDBCTranslatorConvert the given STC region into a DB column value.
Note: This function is used only by the UPLOAD feature, to import geometries provided as STC-S expression in a VOTable document inside a DB column.
Note: If the given region is NULL, NULL will be returned.
translateGeometryToDB in class PostgreSQLTranslatorregion - The region to store in the DB.ParseException - If the given STC Region can not be converted into a DB object.protected java.lang.String circleToPolygon(double[] center,
double radius)
Convert the specified circle into a polygon. The generated polygon is formatted using the PgSphere syntax.
Note: The center coordinates and the radius are expected in degrees.
center - Center of the circle ([0]=ra and [1]=dec).radius - Radius of the circle.