org.deegree.metadata.persistence.ebrim.eo.mapping
Class EOPropertyNameMapper

java.lang.Object
  extended by org.deegree.metadata.persistence.ebrim.eo.mapping.EOPropertyNameMapper
All Implemented Interfaces:
PropertyNameMapper

public class EOPropertyNameMapper
extends Object
implements PropertyNameMapper

PropertyNameMapper for the EbrimEOMDStore.

Version:
$Revision: $, $Date: $
Author:
Lyn Goltz, Markus Schneider, last edited by: $Author: lyn $

Constructor Summary
EOPropertyNameMapper(QName[] queryTypeNames, boolean useLegacyPredicates)
          Creates a new EOPropertyNameMapper instance configured for the specified registry objects / aliases.
 
Method Summary
 List<Join> getAdditionalJoins()
           
 PropertyNameMapping getMapping(ValueReference propName, TableAliasManager aliasManager)
          Returns the PropertyNameMapping for the given ValueReference.
 Collection<AliasedRIMType> getQueryTypes()
          Returns the queried types (including aliases).
 AliasedRIMType getReturnType(QName[] returnTypeNames)
          Determines the query type to be returned.
 SlotMapper.Table getTable(AliasedRIMType queryType)
           
 String getTableAlias(AliasedRIMType queryType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EOPropertyNameMapper

public EOPropertyNameMapper(QName[] queryTypeNames,
                            boolean useLegacyPredicates)
                     throws MetadataStoreException
Creates a new EOPropertyNameMapper instance configured for the specified registry objects / aliases.

Parameters:
queryTypeNames - queried type names, must not be null
useLegacyPredicates - if true, legacy-style PostGIS spatial predicates are used (e.g. Intersects instead of ST_Intersects)
Throws:
MetadataStoreException - if any of the queried type names is not known / supported
Method Detail

getQueryTypes

public Collection<AliasedRIMType> getQueryTypes()
Returns the queried types (including aliases).

Returns:
queried types, never null

getReturnType

public AliasedRIMType getReturnType(QName[] returnTypeNames)
                             throws MetadataStoreException
Determines the query type to be returned.

Parameters:
returnTypeNames - return type names as specified in the query
Returns:
query type to be returned, never null
Throws:
MetadataStoreException - if the specified return type names do not correspond to the query types

getTable

public SlotMapper.Table getTable(AliasedRIMType queryType)

getTableAlias

public String getTableAlias(AliasedRIMType queryType)

getAdditionalJoins

public List<Join> getAdditionalJoins()

getMapping

public PropertyNameMapping getMapping(ValueReference propName,
                                      TableAliasManager aliasManager)
                               throws FilterEvaluationException,
                                      UnmappableException
Description copied from interface: PropertyNameMapper
Returns the PropertyNameMapping for the given ValueReference.

Specified by:
getMapping in interface PropertyNameMapper
Parameters:
propName - property name, can be null (indicates that the default geometry property of the root object is requested)
aliasManager - manager for creating and tracking table aliases, never null
Returns:
relational mapping, may be null (if no mapping is possible)
Throws:
FilterEvaluationException - indicates that the ValueReference is invalid
UnmappableException


Copyright © 2011. All Rights Reserved.