com.esri.adf.web.ags.data
Class AGSGeocodeFunctionality

java.lang.Object
  extended bycom.esri.adf.web.ags.data.AGSGeocodeFunctionality
All Implemented Interfaces:
GeocodeFunctionality, GISFunctionality

public class AGSGeocodeFunctionality
extends java.lang.Object
implements GeocodeFunctionality


Field Summary
protected  java.util.HashMap address
           
protected  AGSGeocodeResource agsgeo
           
protected  java.util.HashMap aliases
           
protected  boolean fetchAddressDetails
           
protected  java.lang.String[] fields
           
static java.lang.String MATCH_ADDRESS_FIELD_NAME
           
protected  PropertySet mods
           
static java.lang.String SCORE_FIELD_NAME
           
 
Fields inherited from interface com.esri.adf.web.data.GeocodeFunctionality
FUNCTIONALITY_NAME
 
Constructor Summary
AGSGeocodeFunctionality()
           
 
Method Summary
protected  PropertySet createAddressPropertySet()
           
 void destroyFunctionality()
           The cleanup chores (such as releasing held resources) for the functionality must be performed in this method.
 java.util.List findAddressCandidates()
           Returns a List of AddressCandidates matching the current set of address field values.
 java.lang.String generateAddressString()
           
 AddressCandidate geocodeAddress()
           Geocodes a single address based on the current set of address field values.
 java.lang.String getAddressFieldAlias(java.lang.String fieldName)
           Returns an alias for the given address field.
 java.lang.String[] getAddressFields()
           Returns an array of address fields for this geocoder.
 java.lang.String getAddressFieldValue(java.lang.String fieldName)
           Returns the value for a given address field.
 GISResource getResource()
           Returns the GISResource associated with this functionality.
 void initFunctionality(GISResource resource)
           The initialization chores for the functionality must be performed in this method.
 boolean isFetchAddressDetails()
           
 void setAddressFieldValue(java.lang.String fieldName, java.lang.String value)
           Sets the value for a given address field.
 void setFetchAddressDetails(boolean fetchAddressDetails)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

agsgeo

protected AGSGeocodeResource agsgeo

fields

protected java.lang.String[] fields

aliases

protected java.util.HashMap aliases

address

protected java.util.HashMap address

mods

protected PropertySet mods

fetchAddressDetails

protected boolean fetchAddressDetails

SCORE_FIELD_NAME

public static final java.lang.String SCORE_FIELD_NAME
See Also:
Constant Field Values

MATCH_ADDRESS_FIELD_NAME

public static final java.lang.String MATCH_ADDRESS_FIELD_NAME
See Also:
Constant Field Values
Constructor Detail

AGSGeocodeFunctionality

public AGSGeocodeFunctionality()
Method Detail

initFunctionality

public void initFunctionality(GISResource resource)
Description copied from interface: GISFunctionality

The initialization chores for the functionality must be performed in this method. This method is called by the resource when the functionality needs to be initialized. This happens either when the resource itself is being initialized or if users add this functionality to the resource using the GISResource.addFunctionality(String, GISFunctionality) method after the resource has already been initialized.

Classes which implement this method should maintain the resource as a class instance variable and return the same in the GISFunctionality.getResource() method. The functionality is ready for use only after this method has been called.

Specified by:
initFunctionality in interface GISFunctionality
Parameters:
resource - the GISResource that this functionality supports
See Also:
GISResource.init(WebContext)

destroyFunctionality

public void destroyFunctionality()
Description copied from interface: GISFunctionality

The cleanup chores (such as releasing held resources) for the functionality must be performed in this method. This method is called by the GISResource when the resource itself is being destroyed.

The functionality is no longer usable after this method has been called.

Specified by:
destroyFunctionality in interface GISFunctionality
See Also:
GISResource.destroy()

getAddressFields

public java.lang.String[] getAddressFields()
Description copied from interface: GeocodeFunctionality

Returns an array of address fields for this geocoder.

The GeocodeTask dynamically generates input text box for each address field.

Specified by:
getAddressFields in interface GeocodeFunctionality
Returns:
a String array of address fields for this geocoder

setAddressFieldValue

public void setAddressFieldValue(java.lang.String fieldName,
                                 java.lang.String value)
Description copied from interface: GeocodeFunctionality

Sets the value for a given address field.

Specified by:
setAddressFieldValue in interface GeocodeFunctionality
Parameters:
fieldName - the address field for which the value is to be set
value - the value for the given address field

getAddressFieldValue

public java.lang.String getAddressFieldValue(java.lang.String fieldName)
Description copied from interface: GeocodeFunctionality

Returns the value for a given address field.

Specified by:
getAddressFieldValue in interface GeocodeFunctionality
Parameters:
fieldName - the address field for which the value is to be returned
Returns:
the value for the given address field

getAddressFieldAlias

public java.lang.String getAddressFieldAlias(java.lang.String fieldName)
Description copied from interface: GeocodeFunctionality

Returns an alias for the given address field.

The GeocodeTask labels the input text box for the address field with this alias.

Specified by:
getAddressFieldAlias in interface GeocodeFunctionality
Parameters:
fieldName - the address field for which the alias is to be returned
Returns:
the alias for the given address field

geocodeAddress

public AddressCandidate geocodeAddress()
Description copied from interface: GeocodeFunctionality

Geocodes a single address based on the current set of address field values.

Different implementations can have different criteria for geocoding the address. Such criterion can be specified and configured in the implementation itself. The GeocodeTask itself is agnostic of such implementation specific criteria as it simply makes this call to get the geocoded address.

Specified by:
geocodeAddress in interface GeocodeFunctionality
Returns:
a single geocoded address

createAddressPropertySet

protected PropertySet createAddressPropertySet()

generateAddressString

public java.lang.String generateAddressString()

findAddressCandidates

public java.util.List findAddressCandidates()
Description copied from interface: GeocodeFunctionality

Returns a List of AddressCandidates matching the current set of address field values.

Different implementations can have different criteria for matching the address candidates. Such criterion can be specified and configured in the implementation itself. The GeocodeTask itself is agnostic of such implementation specific criteria as it simply makes this call to find the matching address candidates.

Specified by:
findAddressCandidates in interface GeocodeFunctionality
Returns:
a List of AddressCandidates matching the current set of address field values

getResource

public GISResource getResource()
Description copied from interface: GISFunctionality

Returns the GISResource associated with this functionality.

The resource passed to GISFunctionality.initFunctionality(GISResource) is maintained as a class variable and is accessible through this method.

Specified by:
getResource in interface GISFunctionality
Returns:
the GISResource associated with this functionality

isFetchAddressDetails

public boolean isFetchAddressDetails()

setFetchAddressDetails

public void setFetchAddressDetails(boolean fetchAddressDetails)