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

java.lang.Object
  extended by com.esri.adf.web.ags.data.AGSMapFunctionality
All Implemented Interfaces:
ExportFunctionality, ExportFunctionality2, GISFunctionality, MapFunctionality, MapFunctionality2, Serializable

public class AGSMapFunctionality
extends Object
implements MapFunctionality2, ExportFunctionality2, Serializable

See Also:
Serialized Form

Field Summary
protected  AGSMapResource agsMapResource
           
protected  boolean disabled
           
protected  WebExtent fullExtent
           
protected  com.esri.arcgisws.ImageDescription imageDesc
           
protected  WebExtent initialExtent
           
protected  com.esri.arcgisws.MapDescription mapDesc
           
protected  double mapScale
           
protected  com.esri.arcgisws.MapServerInfo serverInfo
          Deprecated. As of ArcGIS Java Server 9.3, instead use getMapServerInfo()
protected  double transparency
           
 
Fields inherited from interface com.esri.adf.web.data.MapFunctionality
FUNCTIONALITY_NAME
 
Fields inherited from interface com.esri.adf.web.data.export.ExportFunctionality
EXPORT_FUNCTIONALITY_NAME
 
Constructor Summary
AGSMapFunctionality()
           
 
Method Summary
 double computeCurrentMapScale()
           Computes the current scale of this map and returns the same to the user.
 void destroyFunctionality()
           The cleanup chores (such as releasing held resources) for the functionality must be performed in this method.
 InputStream export(ExportProperties exportProperties)
           
 InputStream exportImage()
           Exports this map for the current extent.
 ExportImage exportMapImage()
          Returns a map image based on the current state (height, width, map extent, dpi, etc) of the WebMap.
 ExportImage exportMapImage(ExportProperties exportProperties)
          Returns a map image based parameters (height, width, map extent, dpi, etc) specified in the exportProperties argument.
 com.esri.arcgisws.EnvelopeN getCurrentAGSExtent()
           
 WebExtent getCurrentExtent()
           Returns the current extent of this map.
 WebExtent getCurrentExtentInContextSR()
           Returns the current extent in the Web Context's spatial reference.
 WebExtent getFullExtent()
           Returns the full extent of this map.
 com.esri.arcgisws.ImageDescription getImageDescription()
           
 WebExtent getInitialExtent()
           Returns the initial extent of this map.
 com.esri.arcgisws.LayerDescription getLayerDescription(int layerId)
           
 com.esri.arcgisws.LayerDescription[] getLayerDescriptions()
           
 com.esri.arcgisws.MapLayerInfo getLayerInfo(int layerId)
           
 com.esri.arcgisws.MapLayerInfo[] getLayerInfos()
           
 com.esri.arcgisws.MapDescription getMapDescription()
           
 double getMapScale()
           Returns the current scale of this map.
 com.esri.arcgisws.MapServerInfo getMapServerInfo()
           
 com.esri.arcgisws.MapTableDescription getMapTableDescription(int layerId)
           
 AGSMapResource getResource()
           Returns the GISResource associated with this functionality.
 double getTransparency()
           Returns the transparency factor for this map functionality.
 void initFunctionality(GISResource resource)
           The initialization chores for the functionality must be performed in this method.
 boolean isDisabled()
           Returns true if this map functionality is disabled.
 boolean isHasSingleFusedMapCache()
           
 void setCurrentAGSExtent(com.esri.arcgisws.EnvelopeN envelope)
           
 void setCurrentExtent(WebExtent newMapExtent)
           Sets the current extent of this map.
 void setDisabled(boolean disabled)
           If true, this map functionality is disabled.
 void setFullExtent(WebExtent fullExtent)
           
 void setInitialExtent(WebExtent initialExtent)
           
 void setMapDescription(com.esri.arcgisws.MapDescription mapDesc)
           
 void setTransparency(double transparency)
           Sets the transparency factor for this map functionality.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

agsMapResource

protected AGSMapResource agsMapResource

imageDesc

protected com.esri.arcgisws.ImageDescription imageDesc

mapDesc

protected com.esri.arcgisws.MapDescription mapDesc

serverInfo

@Deprecated
protected com.esri.arcgisws.MapServerInfo serverInfo
Deprecated. As of ArcGIS Java Server 9.3, instead use getMapServerInfo()

initialExtent

protected WebExtent initialExtent

fullExtent

protected WebExtent fullExtent

disabled

protected boolean disabled

mapScale

protected double mapScale

transparency

protected double transparency
Constructor Detail

AGSMapFunctionality

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

getResource

public AGSMapResource 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

getCurrentExtent

public WebExtent getCurrentExtent()
Description copied from interface: MapFunctionality

Returns the current extent of this map.

Specified by:
getCurrentExtent in interface MapFunctionality
Returns:
the current WebExtent of this map

getCurrentExtentInContextSR

public WebExtent getCurrentExtentInContextSR()
Description copied from interface: MapFunctionality2

Returns the current extent in the Web Context's spatial reference.

Specified by:
getCurrentExtentInContextSR in interface MapFunctionality2
Returns:
the current WebExtent of this map
See Also:
WebContext.getSpatialReference()

setCurrentExtent

public void setCurrentExtent(WebExtent newMapExtent)
Description copied from interface: MapFunctionality

Sets the current extent of this map.

Specified by:
setCurrentExtent in interface MapFunctionality
Parameters:
newMapExtent - the current WebExtent of this map

isDisabled

public boolean isDisabled()
Description copied from interface: MapFunctionality

Returns true if this map functionality is disabled. If a map functionality is disabled, the WebMap will not call the MapFunctionality.exportImage() on that functionality while it is disabled.

A map functionality is typically disabled by unchecking the resource node in the Table of Contents control.

Specified by:
isDisabled in interface MapFunctionality
Returns:
true if this map functionality is disabled

setDisabled

public void setDisabled(boolean disabled)
Description copied from interface: MapFunctionality

If true, this map functionality is disabled. If a map functionality is disabled, the WebMap will not call the MapFunctionality.exportImage() on that functionality while it is disabled.

A map functionality is typically disabled by unchecking the resource node in the Table of Contents control.

Specified by:
setDisabled in interface MapFunctionality
Parameters:
disabled - true if this map functionality is disabled

getTransparency

public double getTransparency()
Description copied from interface: MapFunctionality

Returns the transparency factor for this map functionality. Valid values are from 0.0 through 1.0. A value of 1 means it is completely opaque while a value of 0 means it is completely transparent.

The WebMap uses this value after the map image has been exported and applies the transparency appropriately. Note that transparency will not be applied for the lower most service. In a single service application that service is the lower most service and hence transparency will not be applied for it.

Specified by:
getTransparency in interface MapFunctionality
Returns:
the transparency factor for this map functionality

setTransparency

public void setTransparency(double transparency)
Description copied from interface: MapFunctionality

Sets the transparency factor for this map functionality. Valid values are from 0.0 through 1.0. A value of 1 means it is completely opaque while a value of 0 means it is completely transparent.

The WebMap uses this value after the map image has been exported and applies the transparency appropriately. Note that transparency will not be applied for the lower most service. In a single service application that service is the lower most service and hence transparency will not be applied for it.

Specified by:
setTransparency in interface MapFunctionality
Parameters:
transparency - the transparency factor for this map functionality

getFullExtent

public WebExtent getFullExtent()
Description copied from interface: MapFunctionality

Returns the full extent of this map.

Typically, this extent should be determined by the functionality when it is initialized.

Specified by:
getFullExtent in interface MapFunctionality
Returns:
the full WebExtent of this map

getInitialExtent

public WebExtent getInitialExtent()
Description copied from interface: MapFunctionality

Returns the initial extent of this map.

Typically, this extent should be determined by the functionality when it is initialized.

Specified by:
getInitialExtent in interface MapFunctionality
Returns:
the initial WebExtent of this map

getMapScale

public double getMapScale()
Description copied from interface: MapFunctionality

Returns the current scale of this map.

Specified by:
getMapScale in interface MapFunctionality
Returns:
the current scale of this map

exportImage

public InputStream exportImage()
Description copied from interface: MapFunctionality

Exports this map for the current extent. Implementations should ensure the following:

The WebMap calls this method on all its map functionalities and eventually fuses all the exported maps before streaming it to the user.

Specified by:
exportImage in interface MapFunctionality
Returns:
a java.io.InputStream to the exported image

export

public InputStream export(ExportProperties exportProperties)
Specified by:
export in interface ExportFunctionality

exportMapImage

public ExportImage exportMapImage()
Description copied from interface: ExportFunctionality2
Returns a map image based on the current state (height, width, map extent, dpi, etc) of the WebMap.

Specified by:
exportMapImage in interface ExportFunctionality2

exportMapImage

public ExportImage exportMapImage(ExportProperties exportProperties)
Description copied from interface: ExportFunctionality2
Returns a map image based parameters (height, width, map extent, dpi, etc) specified in the exportProperties argument. It does not consider or alter the state of the WebMap.

Specified by:
exportMapImage in interface ExportFunctionality2

getMapServerInfo

public com.esri.arcgisws.MapServerInfo getMapServerInfo()

getMapDescription

public com.esri.arcgisws.MapDescription getMapDescription()

setMapDescription

public void setMapDescription(com.esri.arcgisws.MapDescription mapDesc)

getLayerDescriptions

public com.esri.arcgisws.LayerDescription[] getLayerDescriptions()

getMapTableDescription

public com.esri.arcgisws.MapTableDescription getMapTableDescription(int layerId)

getLayerDescription

public com.esri.arcgisws.LayerDescription getLayerDescription(int layerId)

getImageDescription

public com.esri.arcgisws.ImageDescription getImageDescription()

getLayerInfos

public com.esri.arcgisws.MapLayerInfo[] getLayerInfos()

getLayerInfo

public com.esri.arcgisws.MapLayerInfo getLayerInfo(int layerId)

setCurrentAGSExtent

public void setCurrentAGSExtent(com.esri.arcgisws.EnvelopeN envelope)

getCurrentAGSExtent

public com.esri.arcgisws.EnvelopeN getCurrentAGSExtent()

setFullExtent

public void setFullExtent(WebExtent fullExtent)

setInitialExtent

public void setInitialExtent(WebExtent initialExtent)

isHasSingleFusedMapCache

public boolean isHasSingleFusedMapCache()

computeCurrentMapScale

public double computeCurrentMapScale()

Computes the current scale of this map and returns the same to the user.

If the map is tiled, the scale of the current level of detail is assigned as the current map scale. Otherwise, the computeScale() method of the MapServer is called to compute the scale.

Returns:
the current scale of this map