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

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

public class AGSTileFunctionality
extends java.lang.Object
implements TileFunctionality


Field Summary
protected  AGSMapResource agsMapRes
           
protected  java.lang.String baseUrl
           
protected  WebLodInfo currLodInfo
           
protected  ContainingTile currOriginContainingTile
           
protected  java.util.ArrayList lodInfos
           
protected  AGSMapFunctionality mfunc
           
protected  WebPoint origin
           
protected  TileCacheInfo tci
           
protected  int tileHeight
           
protected  java.lang.String tileImageFormat
           
protected  int tileWidth
           
protected  boolean tilingAvailable
           
protected  boolean useVirtualCacheDirectory
           
protected  WebMap wmap
           
 
Fields inherited from interface com.esri.adf.web.data.TileFunctionality
FUNCTIONALITY_NAME
 
Constructor Summary
AGSTileFunctionality()
           
 
Method Summary
protected  EnvelopeN adjustCurrentMapExtent()
           
 void computeCurrentOriginContainingTile()
           Computes the top-left tile for the current extent.
 void destroyFunctionality()
           The cleanup chores (such as releasing held resources) for the functionality must be performed in this method.
 java.lang.String getBaseUrl()
           Returns the base URL for the tiled images.
 WebLodInfo getCurrentLodInfo()
           Returns the level of detail (LOD) used to display the current extent.
 ContainingTile getCurrentOriginContainingTile()
           Returns the top-left tile for the current extent.
 java.util.List getLodInfos()
           Returns a List of the levels of detail (LODs) supported by this resource.
 WebPoint getOrigin()
           Returns the origin of the tiling scheme used by this resource.
 GISResource getResource()
           Returns the GISResource associated with this functionality.
 int getTileHeight()
          Returns the height of the tiled images.
 java.lang.String getTileImageFormat()
          Returns the format of the tiled images.
 int getTileWidth()
          Returns the width of the tiled images.
 void initFunctionality(GISResource resource)
           The initialization chores for the functionality must be performed in this method.
 boolean isTilingAvailable()
           Returns true if tiling is available for this resource.
 boolean isUseVirtualCacheDirectory()
           Returns true if tiles are to be fetched using a direct URL to the tile image.
 void setUseVirtualCacheDirectory(boolean useVirtualCacheDirectory)
           
 void zoomToLevel(int level)
           Zooms the map to the given level of detail (LOD).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

agsMapRes

protected AGSMapResource agsMapRes

mfunc

protected AGSMapFunctionality mfunc

wmap

protected WebMap wmap

tilingAvailable

protected boolean tilingAvailable

currLodInfo

protected WebLodInfo currLodInfo

currOriginContainingTile

protected ContainingTile currOriginContainingTile

lodInfos

protected java.util.ArrayList lodInfos

origin

protected WebPoint origin

baseUrl

protected java.lang.String baseUrl

tileImageFormat

protected java.lang.String tileImageFormat

tci

protected TileCacheInfo tci

tileWidth

protected int tileWidth

tileHeight

protected int tileHeight

useVirtualCacheDirectory

protected boolean useVirtualCacheDirectory
Constructor Detail

AGSTileFunctionality

public AGSTileFunctionality()
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()

computeCurrentOriginContainingTile

public void computeCurrentOriginContainingTile()
Description copied from interface: TileFunctionality

Computes the top-left tile for the current extent.

This is important because only this information is passed by the MapControl to the client browser. The JavaScript residing on the browser uses this information to fetch the required tiles by directly requesting the tile images from the server.

Specified by:
computeCurrentOriginContainingTile in interface TileFunctionality

adjustCurrentMapExtent

protected EnvelopeN adjustCurrentMapExtent()

zoomToLevel

public void zoomToLevel(int level)
Description copied from interface: TileFunctionality

Zooms the map to the given level of detail (LOD). If the requested level is not supported no action should be taken.

Specified by:
zoomToLevel in interface TileFunctionality
Parameters:
level - the level of detail (LOD) that the map should be zoomed to

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

isTilingAvailable

public boolean isTilingAvailable()
Description copied from interface: TileFunctionality

Returns true if tiling is available for this resource.

If users try to use this functionality even when tiled maps are not supported by this resource, this method should return false. The WebMap uses this method to determine if it should fetch tiles or dynamically export images.

Specified by:
isTilingAvailable in interface TileFunctionality
Returns:
true if tiling is available

getCurrentOriginContainingTile

public ContainingTile getCurrentOriginContainingTile()
Description copied from interface: TileFunctionality

Returns the top-left tile for the current extent.

This is important because only this information is passed by the MapControl to the client browser. The JavaScript residing on the browser uses this information to fetch the required tiles by directly requesting the tile images from the server.

Specified by:
getCurrentOriginContainingTile in interface TileFunctionality
Returns:
the top-left tile for the current extent.

getLodInfos

public java.util.List getLodInfos()
Description copied from interface: TileFunctionality

Returns a List of the levels of detail (LODs) supported by this resource.

The map tiles are generated by the server for pre-defined scales (LODs). This information is important to compute which LOD should be used to display the current extent requested by the user.

Specified by:
getLodInfos in interface TileFunctionality
Returns:
a List of the levels of detail supported by this resource

getCurrentLodInfo

public WebLodInfo getCurrentLodInfo()
Description copied from interface: TileFunctionality

Returns the level of detail (LOD) used to display the current extent.

The map tiles are generated by the server for pre-defined scales (LODs). This information is important to compute which LOD should be used to display the current extent requested by the user.

Specified by:
getCurrentLodInfo in interface TileFunctionality
Returns:
the level of detail (LOD) used to display the current extent

getOrigin

public WebPoint getOrigin()
Description copied from interface: TileFunctionality

Returns the origin of the tiling scheme used by this resource.

Specified by:
getOrigin in interface TileFunctionality
Returns:
the origin of the tiling scheme used by this resource

getBaseUrl

public java.lang.String getBaseUrl()
Description copied from interface: TileFunctionality

Returns the base URL for the tiled images. The client-side JavaScript append the virtual path or append the query string to this base URL to fetch the appropriate tiled image from the server.

Specified by:
getBaseUrl in interface TileFunctionality
Returns:
the base URL for the tiled images

getTileWidth

public int getTileWidth()
Description copied from interface: TileFunctionality

Returns the width of the tiled images.

Specified by:
getTileWidth in interface TileFunctionality
Returns:
the width of the tiled images

getTileHeight

public int getTileHeight()
Description copied from interface: TileFunctionality

Returns the height of the tiled images.

Specified by:
getTileHeight in interface TileFunctionality
Returns:
the height of the tiled images

setUseVirtualCacheDirectory

public void setUseVirtualCacheDirectory(boolean useVirtualCacheDirectory)

isUseVirtualCacheDirectory

public boolean isUseVirtualCacheDirectory()
Description copied from interface: TileFunctionality

Returns true if tiles are to be fetched using a direct URL to the tile image. If false, the tiles are fetched using a query string encoded URL.

Specified by:
isUseVirtualCacheDirectory in interface TileFunctionality
Returns:
true if tiles are to be fetched using a direct URL to the tile image

getTileImageFormat

public java.lang.String getTileImageFormat()
Description copied from interface: TileFunctionality

Returns the format of the tiled images. (For ex. jpg, png, etc.)

Specified by:
getTileImageFormat in interface TileFunctionality
Returns:
the format of the tiled images. (For ex. jpg, png, etc.)