com.esri.arcgis.carto
Interface IDynamicLayerDescription

All Superinterfaces:
Serializable
All Known Implementing Classes:
LayerDescription

public interface IDynamicLayerDescription
extends Serializable

Provides access to the available properties of a dynamic layer description object.

Remarks

Note: Please make sure to check IMapServerInfo4::SupportsDynamicLayers value is True. If it is False, properties on this interface are ignored.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 IMapServerSourceDescription esri_getSource()
          Data source for dynamic table.
 ILayerDrawingDescription getDrawingDescription()
          Drawing Descriptions.
 void setDrawingDescriptionByRef(ILayerDrawingDescription ppLayerDrawingDescription)
          Drawing Descriptions.
 void setSource(IMapServerSourceDescription ppMapServerSourceDescription)
          Data source for dynamic table.
 

Method Detail

esri_getSource

IMapServerSourceDescription esri_getSource()
                                           throws IOException,
                                                  AutomationException
Data source for dynamic table.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.carto.IMapServerSourceDescription
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSource

void setSource(IMapServerSourceDescription ppMapServerSourceDescription)
               throws IOException,
                      AutomationException
Data source for dynamic table.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
ppMapServerSourceDescription - A reference to a com.esri.arcgis.carto.IMapServerSourceDescription (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDrawingDescriptionByRef

void setDrawingDescriptionByRef(ILayerDrawingDescription ppLayerDrawingDescription)
                                throws IOException,
                                       AutomationException
Drawing Descriptions.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
ppLayerDrawingDescription - A reference to a com.esri.arcgis.carto.ILayerDrawingDescription (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDrawingDescription

ILayerDrawingDescription getDrawingDescription()
                                               throws IOException,
                                                      AutomationException
Drawing Descriptions.

Remarks

By setting this property, a user can override how features of an existing layer in a mapservice are drawn or set the renderer for a new layer added to to a mapservice dynamically. MapServer does not allow drawing description of all types of layer to be modified. Please check IMapLayerInfo4::CanModifyDrawingDescription property to find out whether you can change the renderer.

This is important to note that this is a stateless change. MapServer does not remember this change for the next request. It only affects that particular request what that means is that once the request is processed, MapServer does not remember that change and the next request comes in, MapServer processes that with layer's original state (the way it is defined in the source map document).

To set the layer back to the original state in your application session, you can set this property to Null or get the DefaultMapDescription from the server by calling GetServerInfo function.

You can create a new a DrawingDescription object with new renderer and set that to this property. Sometimes you may want to modify symbol for only one type of feature (in case of UniqueValueRenderer) or symbol of a ClassBreak, in this case you can get the default renderer information by calling GetDefaultLayerDrawingDescription. Then modify it and set it to this property. Please note GetDefaultLayerDrawingDescription may return simplified version of the symbol or some renderer may not be even supported - read the help for more information.

MapServer also has a helper function to assist you create renderer - you can use IMapServer4::GenerateDataClasses method to get UniqueValueRenderer or ClassBreaksRenderer created by MapServer.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.carto.ILayerDrawingDescription
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.