com.esri.arcgis.carto
Class WMSLayer

java.lang.Object
  extended by com.esri.arcgis.carto.WMSLayer
All Implemented Interfaces:
IIdentify, ILayer, ILayerGeneralProperties, ILayerSymbologyExtents, IPublishLayer, IWMSLayer, IWMSLayer2, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class WMSLayer
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IWMSLayer, ILayer, IPublishLayer, ILayerGeneralProperties, IIdentify, ILayerSymbologyExtents, IWMSLayer2

A container for the display of WMS sub layers.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
WMSLayer(Object obj)
          Construct a WMSLayer using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void addILayerEventsListener(ILayerEvents theListener)
          addILayerEventsListener.
 void draw(int drawPhase, IDisplay display, ITrackCancel trackCancel)
          Draws the layer to the specified display for the given draw phase.
 boolean equals(Object o)
          Compare this object with another
 void expandRegionForSymbols(IDisplay pDisplay, IGeometry pRegion)
          Enlarges the specified region if necessary to account for the symbology sizes.
 IEnvelope getAreaOfInterest()
          The default area of interest for the layer.
 String getDataDetails(String bsPadding)
          Details of the layer's data.
 double getLastMaximumScale()
          Last maximum scale setting used by layer.
 double getLastMinimumScale()
          Last minimum scale setting used by layer.
 double getMaximumScale()
          Maximum scale (representative fraction) at which the layer will display.
 double getMinimumScale()
          Minimum scale (representative fraction) at which the layer will display.
 String getName()
          Layer name.
 String getPublishingDescription()
          The layer description reported to the publisher.
 IWMSLayerStyleDescription getStyle()
          Active style that will be used for drawing.
 int getSupportedDrawPhases()
          Supported draw phases.
 String getTipText(double x, double y, double tolerance)
          Map tip text at the specified location.
 IWMSLayerDescription getWMSLayerDescription()
          Associated WMSLayerDescription.
 IWMSServiceDescription getWMSServiceDescription()
          Associated WMSServiceDescription.
 int hashCode()
          the hashcode for this object
 IArray identify(IGeometry pGeom)
          Identifies objects at the specified location.
 String ILayerGeneralProperties_getLayerDescription()
          Description for the layer.
 boolean isCached()
          Indicates if the layer needs its own display cache.
 boolean isDataValid()
          Indicates if the data for the layer is currently valid.
 boolean isShowTips()
          Indicates if the layer shows map tips.
 boolean isSupportsPublishing()
          Indicates if the layer supports the publishing process.
 boolean isValid()
          Indicates if the layer is currently valid.
 boolean isVisible()
          Indicates if the layer is currently visible.
 void prepareForPublishing()
          Prepare the layer for the publishing process.
 void removeILayerEventsListener(ILayerEvents theListener)
          removeILayerEventsListener.
 void setCached(boolean cached)
          Indicates if the layer needs its own display cache.
 void setLayerDescription(String text)
          Description for the layer.
 void setMaximumScale(double maxScale)
          Maximum scale (representative fraction) at which the layer will display.
 void setMinimumScale(double minScale)
          Minimum scale (representative fraction) at which the layer will display.
 void setName(String name)
          Layer name.
 void setShowTips(boolean show)
          Indicates if the layer shows map tips.
 void setSpatialReferenceByRef(ISpatialReference rhs1)
          Spatial reference for the layer.
 void setStyleByRef(IWMSLayerStyleDescription style)
          Active style that will be used for drawing.
 void setVisible(boolean visible)
          Indicates if the layer is currently visible.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

WMSLayer

public WMSLayer(Object obj)
         throws IOException
Construct a WMSLayer using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to WMSLayer.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
WMSLayer o = (WMSLayer)obj; // will not work

WMSLayer o = new WMSLayer(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems WMSLayer theWMSLayer = (WMSLayer) obj;
Method Detail

equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

addILayerEventsListener

public void addILayerEventsListener(ILayerEvents theListener)
                             throws IOException
addILayerEventsListener. Listen to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.carto.ILayerEvents interface.
Throws:
IOException - If there are communications problems.

removeILayerEventsListener

public void removeILayerEventsListener(ILayerEvents theListener)
                                throws IOException
removeILayerEventsListener. Stop listening to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.carto.ILayerEvents interface.
Throws:
IOException - If there are communications problems.

getWMSLayerDescription

public IWMSLayerDescription getWMSLayerDescription()
                                            throws IOException,
                                                   AutomationException
Associated WMSLayerDescription.

Product Availability

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

Specified by:
getWMSLayerDescription in interface IWMSLayer
Specified by:
getWMSLayerDescription in interface IWMSLayer2
Returns:
A reference to a com.esri.arcgis.gisclient.IWMSLayerDescription
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWMSServiceDescription

public IWMSServiceDescription getWMSServiceDescription()
                                                throws IOException,
                                                       AutomationException
Associated WMSServiceDescription.

Product Availability

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

Specified by:
getWMSServiceDescription in interface IWMSLayer
Specified by:
getWMSServiceDescription in interface IWMSLayer2
Returns:
A reference to a com.esri.arcgis.gisclient.IWMSServiceDescription
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public String getName()
               throws IOException,
                      AutomationException
Layer name.

Description


Remarks

Use this property to associate a string with a layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getName in interface ILayer
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setName

public void setName(String name)
             throws IOException,
                    AutomationException
Layer name.

Description

Use the Name property to associate a string with the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setName in interface ILayer
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isValid

public boolean isValid()
                throws IOException,
                       AutomationException
Indicates if the layer is currently valid.

Remarks

The valid property indicates if the layer is currently valid. Layers that reference feature classes are valid when they hold a reference to a valid feature class. The property does not however validate the integrity of the feature classes reference to the database. Therefore, in rare situations if a datasource is removed after a layer is initialized, the layer will report itself as valid but query attempts to the data source will error due to the lack of underlying data.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isValid in interface ILayer
Returns:
The valid
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAreaOfInterest

public IEnvelope getAreaOfInterest()
                            throws IOException,
                                   AutomationException
The default area of interest for the layer.

Remarks

Returns the spatial-referenced extent of the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getAreaOfInterest in interface ILayer
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMinimumScale

public double getMinimumScale()
                       throws IOException,
                              AutomationException
Minimum scale (representative fraction) at which the layer will display.

Remarks

Specifies the minimum scale at which the layer will be displayed. This means that if you zoom out beyond this scale, the layer will not display. For example, specify 1000 to have the layer not display when zoomed out beyond 1:1000.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMinimumScale in interface ILayer
Returns:
The minScale
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMinimumScale

public void setMinimumScale(double minScale)
                     throws IOException,
                            AutomationException
Minimum scale (representative fraction) at which the layer will display.

Description

MinimumScale property specifies the minimum scale at which the layer will be displayed. Assign a Double value to set this property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMinimumScale in interface ILayer
Parameters:
minScale - The minScale (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaximumScale

public double getMaximumScale()
                       throws IOException,
                              AutomationException
Maximum scale (representative fraction) at which the layer will display.

Remarks

Specifies the maximum scale at which the layer will be displayed. This means that if you zoom in beyond this scale, the layer will not display. For example, specify 500 to have the layer not display when zoomed in beyond 1:500.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getMaximumScale in interface ILayer
Returns:
The maxScale
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaximumScale

public void setMaximumScale(double maxScale)
                     throws IOException,
                            AutomationException
Maximum scale (representative fraction) at which the layer will display.

Description

MaximumScale property specifies the maximum scale at which the layer will be displayed. Assign a Double value to set this property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setMaximumScale in interface ILayer
Parameters:
maxScale - The maxScale (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isVisible

public boolean isVisible()
                  throws IOException,
                         AutomationException
Indicates if the layer is currently visible.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isVisible in interface ILayer
Returns:
The visible
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setVisible

public void setVisible(boolean visible)
                throws IOException,
                       AutomationException
Indicates if the layer is currently visible.

Description

Use Visible property to set the visibility of the layer. When assigned False, the layer is invisible in the current view.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setVisible in interface ILayer
Parameters:
visible - The visible (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowTips

public boolean isShowTips()
                   throws IOException,
                          AutomationException
Indicates if the layer shows map tips.

Remarks

Indicates whether or not map tips are shown for the layer. If set to True, then map tips will be shown for the layer. You can determine the text that will be shown via TipText. For a FeatureLayer, this text comes from the data for IFeatureLayer::DisplayField.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isShowTips in interface ILayer
Returns:
The show
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShowTips

public void setShowTips(boolean show)
                 throws IOException,
                        AutomationException
Indicates if the layer shows map tips.

Description

ShowTips is set to True when the layer shows map tips specified in the TipText property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setShowTips in interface ILayer
Parameters:
show - The show (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTipText

public String getTipText(double x,
                         double y,
                         double tolerance)
                  throws IOException,
                         AutomationException
Map tip text at the specified location.

Product Availability

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

Specified by:
getTipText in interface ILayer
Parameters:
x - The x (in)
y - The y (in)
tolerance - The tolerance (in)
Returns:
The text
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCached

public boolean isCached()
                 throws IOException,
                        AutomationException
Indicates if the layer needs its own display cache.

Remarks

This property indicates whether or not the layer requires its own display cache. If this property is True, then the Map will use a separate display cache for the layer so that it can be refreshed indpendently of other layers.

The Map is responsible for cache management. See IScreenDisplay::AddCache for more information on caches.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCached in interface ILayer
Returns:
The cached
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCached

public void setCached(boolean cached)
               throws IOException,
                      AutomationException
Indicates if the layer needs its own display cache.

Description

Use Cached property to indicate if the layer needs its own cache for display.

Remarks

Informational property. Container is responsible for cache management.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setCached in interface ILayer
Parameters:
cached - The cached (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSupportedDrawPhases

public int getSupportedDrawPhases()
                           throws IOException,
                                  AutomationException
Supported draw phases.

Remarks

Indicates the draw phases supported by the layer (esriDPGeography, esriDPAnnotation, esriDPSelection, or any combination of the three). The supported draw phases are defined by esriDrawPhase. When multiple draw phases are supported, the sum of the constants is used. For example, if SupportedDrawPhases = 3 then the layer supports drawing in the geography and annotation phases.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSupportedDrawPhases in interface ILayer
Returns:
The drawPhases
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSpatialReferenceByRef

public void setSpatialReferenceByRef(ISpatialReference rhs1)
                              throws IOException,
                                     AutomationException
Spatial reference for the layer.

Remarks

This property is only used for map display, setting this property does not change the spatial reference of the layer's underlying data. The ArcGIS framework uses this property to pass the spatial reference from the map to the layer in order to support on-the-fly projection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSpatialReferenceByRef in interface ILayer
Parameters:
rhs1 - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

draw

public void draw(int drawPhase,
                 IDisplay display,
                 ITrackCancel trackCancel)
          throws IOException,
                 AutomationException
Draws the layer to the specified display for the given draw phase.

Remarks

This method draws the layer to the Display for the specified DrawPhase. Use the TrackCancel object to allow the drawing of the layer to be interrupted by the user.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
draw in interface ILayer
Parameters:
drawPhase - A com.esri.arcgis.system.esriDrawPhase constant (in)
display - A reference to a com.esri.arcgis.display.IDisplay (in)
trackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSupportsPublishing

public boolean isSupportsPublishing()
                             throws IOException,
                                    AutomationException
Indicates if the layer supports the publishing process.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isSupportsPublishing in interface IPublishLayer
Returns:
The bValid
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPublishingDescription

public String getPublishingDescription()
                                throws IOException,
                                       AutomationException
The layer description reported to the publisher.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getPublishingDescription in interface IPublishLayer
Returns:
The bsDescription
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDataValid

public boolean isDataValid()
                    throws IOException,
                           AutomationException
Indicates if the data for the layer is currently valid.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDataValid in interface IPublishLayer
Returns:
The bDataValid
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDataDetails

public String getDataDetails(String bsPadding)
                      throws IOException,
                             AutomationException
Details of the layer's data.

Product Availability

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

Specified by:
getDataDetails in interface IPublishLayer
Parameters:
bsPadding - The bsPadding (in)
Returns:
The bsDataDetails
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

prepareForPublishing

public void prepareForPublishing()
                          throws IOException,
                                 AutomationException
Prepare the layer for the publishing process.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
prepareForPublishing in interface IPublishLayer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLastMinimumScale

public double getLastMinimumScale()
                           throws IOException,
                                  AutomationException
Last minimum scale setting used by layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLastMinimumScale in interface ILayerGeneralProperties
Returns:
The minScale
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLastMaximumScale

public double getLastMaximumScale()
                           throws IOException,
                                  AutomationException
Last maximum scale setting used by layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLastMaximumScale in interface ILayerGeneralProperties
Returns:
The maxScale
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

ILayerGeneralProperties_getLayerDescription

public String ILayerGeneralProperties_getLayerDescription()
                                                   throws IOException,
                                                          AutomationException
Description for the layer.

Product Availability

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

Specified by:
ILayerGeneralProperties_getLayerDescription in interface ILayerGeneralProperties
Returns:
The text
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLayerDescription

public void setLayerDescription(String text)
                         throws IOException,
                                AutomationException
Description for the layer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setLayerDescription in interface ILayerGeneralProperties
Parameters:
text - The text (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

identify

public IArray identify(IGeometry pGeom)
                throws IOException,
                       AutomationException
Identifies objects at the specified location.

Remarks

When the IIdentify interface is on a map layer, the Identify method returns an array of FeatureIdentifyObject objects.

On a FeatureIdentifyObject, you can do a QI to the IIdentifyObj interface to get more information about the identified feature. The IIdentifyObj interface returns the window handle, layer, and name of the feature; it has methods to flash the feature in the display and to display a context menu at the Identify location.

This method performs an identify operation with the provided geometry. When identifying layers, typically a small envelope is passed in rather than a point to account for differences in the precision of the display and the feature geometry.


Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
identify in interface IIdentify
Parameters:
pGeom - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
A reference to a com.esri.arcgis.system.IArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

expandRegionForSymbols

public void expandRegionForSymbols(IDisplay pDisplay,
                                   IGeometry pRegion)
                            throws IOException,
                                   AutomationException
Enlarges the specified region if necessary to account for the symbology sizes.

Product Availability

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

Specified by:
expandRegionForSymbols in interface ILayerSymbologyExtents
Parameters:
pDisplay - A reference to a com.esri.arcgis.display.IDisplay (in)
pRegion - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setStyleByRef

public void setStyleByRef(IWMSLayerStyleDescription style)
                   throws IOException,
                          AutomationException
Active style that will be used for drawing.

Product Availability

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

Specified by:
setStyleByRef in interface IWMSLayer2
Parameters:
style - A reference to a com.esri.arcgis.gisclient.IWMSLayerStyleDescription (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStyle

public IWMSLayerStyleDescription getStyle()
                                   throws IOException,
                                          AutomationException
Active style that will be used for drawing.

Product Availability

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

Specified by:
getStyle in interface IWMSLayer2
Returns:
A reference to a com.esri.arcgis.gisclient.IWMSLayerStyleDescription
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.