com.esri.arcgis.carto
Class MapServerBasicSublayer

java.lang.Object
  extended by com.esri.arcgis.carto.MapServerBasicSublayer
All Implemented Interfaces:
ILayer, ILayerDrawingProperties, ILayerGeneralProperties, ILegendInfo, IMapServerGroupLayer, IMapServerSublayer, IMapServerSublayer2, IGeoDataset, com.esri.arcgis.interop.RemoteObjRef, IPersist, IPersistStream, Externalizable, Serializable

public class MapServerBasicSublayer
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IMapServerSublayer, IMapServerSublayer2, IMapServerGroupLayer, ILayer, ILegendInfo, IGeoDataset, IPersistStream, ILayerGeneralProperties, ILayerDrawingProperties, Externalizable

Provides programmatic access to a basic map server sublayer.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
MapServerBasicSublayer(Object obj)
          Construct a MapServerBasicSublayer using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 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
 IEnvelope getAreaOfInterest()
          The default area of interest for the layer.
 void getClassID(GUID[] pClassID)
          getClassID
 int getCount()
          Number of layers in the collection.
 IEnvelope getExtent()
          The extent of the GeoDataset.
 double getLastMaximumScale()
          Last maximum scale setting used by layer.
 double getLastMinimumScale()
          Last minimum scale setting used by layer.
 ILayer getLayer(int index)
          Layer in the collection at the specified index.
 ILayerDescription getLayerDescription()
          The layer description.
 ILegendGroup getLegendGroup(int index)
          Legend group at the specified index.
 int getLegendGroupCount()
          Number of legend groups contained by the object.
 ILegendItem getLegendItem()
          Optional.
 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.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 String getSourceID()
          The source ID of the layer.
 ISpatialReference getSpatialReference()
          The spatial reference of the GeoDataset.
 int getSupportedDrawPhases()
          Supported draw phases.
 String getTipText(double x, double y, double tolerance)
          Map tip text at the specified location.
 int hashCode()
          the hashcode for this object
 String ILayerGeneralProperties_getLayerDescription()
          Description for the layer.
 boolean isCached()
          Indicates if the layer needs its own display cache.
 void isDirty()
          isDirty
 boolean isDrawingPropsDirty()
          Indicates if the layer drawing properties are dirty.
 boolean isHasLabels()
          Indicates if the layer has labels to turn on and off.
 boolean isScaleSymbols()
          Indicates whether the layer should scale its symbols according to the reference scale.
 boolean isShowLabels()
          Indicates whether the layer should display its dynamic labels.
 boolean isShowTips()
          Indicates if the layer shows map tips.
 boolean isSymbolsAreGraduated()
          Indicates if symbols are graduated.
 boolean isValid()
          Indicates if the layer is currently valid.
 boolean isVisible()
          Indicates if the layer is currently visible.
 void load(IStream pstm)
          load
 void readExternal(ObjectInput in)
           
 void save(IStream pstm, int fClearDirty)
          save
 void setCached(boolean cached)
          Indicates if the layer needs its own display cache.
 void setDrawingPropsDirty(boolean dirty)
          Indicates if the layer drawing properties are dirty.
 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 setScaleSymbols(boolean scaleSymbols)
          Indicates whether the layer should scale its symbols according to the reference scale.
 void setShowLabels(boolean show)
          Indicates whether the layer should display its dynamic labels.
 void setShowTips(boolean show)
          Indicates if the layer shows map tips.
 void setSourceID(String sourceID)
          The source ID of the layer.
 void setSpatialReferenceByRef(ISpatialReference rhs1)
          Spatial reference for the layer.
 void setSymbolsAreGraduated(boolean symbolsAreGraduated)
          Indicates if symbols are graduated.
 void setVisible(boolean visible)
          Indicates if the layer is currently visible.
 void showLayers(boolean show, ILongArray layerIds)
          Shows/ hides the layers given layer ids.
 void writeExternal(ObjectOutput out)
           
 
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

MapServerBasicSublayer

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

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

Throws:
IOException - if there are interop problems MapServerBasicSublayer theMapServerBasicSublayer = (MapServerBasicSublayer) 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

isHasLabels

public boolean isHasLabels()
                    throws IOException,
                           AutomationException
Indicates if the layer has labels to turn on and off.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isHasLabels in interface IMapServerSublayer
Specified by:
isHasLabels in interface IMapServerSublayer2
Returns:
The hasLabels
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShowLabels

public boolean isShowLabels()
                     throws IOException,
                            AutomationException
Indicates whether the layer should display its dynamic labels.

Remarks

This only applies to layers where the property HasLabels on IMapServerSubLayer is TRUE. This means that the layer's labels must be "on" in the original map document.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setShowLabels

public void setShowLabels(boolean show)
                   throws IOException,
                          AutomationException
Indicates whether the layer should display its dynamic labels.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isScaleSymbols

public boolean isScaleSymbols()
                       throws IOException,
                              AutomationException
Indicates whether the layer should scale its symbols according to the reference scale.

Remarks

A reference scale set for a map containing a Map Server object will have no effect on Map Server layer symbology. In order for symbols to scale, the originial map document on which the Map Server object is based must have a reference scale set. The Map layer must also support symbol scaling. If both these conditions are true, use ScaleSymbols to activate or deactivate a Map Server Sublayer's symbol scaling.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isScaleSymbols in interface IMapServerSublayer
Specified by:
isScaleSymbols in interface IMapServerSublayer2
Returns:
The scaleSymbols
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setScaleSymbols

public void setScaleSymbols(boolean scaleSymbols)
                     throws IOException,
                            AutomationException
Indicates whether the layer should scale its symbols according to the reference scale.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setScaleSymbols in interface IMapServerSublayer
Specified by:
setScaleSymbols in interface IMapServerSublayer2
Parameters:
scaleSymbols - The scaleSymbols (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLayerDescription

public ILayerDescription getLayerDescription()
                                      throws IOException,
                                             AutomationException
The layer description.

Remarks

Use LayerDescription to access properties of ILayerDescription. The ID value may not match the Layer index value on ICompositeLayer or ICompositeLayer2. This is because the count on ICompositeLayer or ICompositeLayer2 does not include members of composite layers embedded within the MapServerSublayer. Only the parent layer is counted.

MapServerSubLayer does not support the ILayerDescription properties ScaleSymbols, ShowLabels and Visible. ScaleSymbols and ShowLabels can be accessed via IMapServerSubLayer. The property controlling a MapServerSubLayers visibility, Visible, can be accessed via ILayer.

The ILayerDescription properties SelectionFeatures, SelectionColor, SelectionSymbol, SetSelectionSymbol, SelectionBufferDistance and ShowSelectionBuffer can be used to select and buffer (euclidean buffer) features of a Map Server SubLayer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLayerDescription in interface IMapServerSublayer
Specified by:
getLayerDescription in interface IMapServerSublayer2
Returns:
A reference to a com.esri.arcgis.carto.ILayerDescription
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSourceID

public String getSourceID()
                   throws IOException,
                          AutomationException
The source ID of the layer.

Product Availability

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

Specified by:
getSourceID in interface IMapServerSublayer2
Returns:
The sourceID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSourceID

public void setSourceID(String sourceID)
                 throws IOException,
                        AutomationException
The source ID of the layer.

Product Availability

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

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

showLayers

public void showLayers(boolean show,
                       ILongArray layerIds)
                throws IOException,
                       AutomationException
Shows/ hides the layers given layer ids.

Product Availability

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

Specified by:
showLayers in interface IMapServerGroupLayer
Parameters:
show - The show (in)
layerIds - A reference to a com.esri.arcgis.system.ILongArray (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCount

public int getCount()
             throws IOException,
                    AutomationException
Number of layers in the collection.

Product Availability

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

Specified by:
getCount in interface IMapServerGroupLayer
Returns:
The layerCount
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLayer

public ILayer getLayer(int index)
                throws IOException,
                       AutomationException
Layer in the collection at the specified index.

Product Availability

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

Specified by:
getLayer in interface IMapServerGroupLayer
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.carto.ILayer
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.

getLegendGroupCount

public int getLegendGroupCount()
                        throws IOException,
                               AutomationException
Number of legend groups contained by the object.

Remarks

The number of legend groups is determined by the implementation of the renderer, consequently this property is read only. For example, SimpleRenderer has one group, while a BiUniqueValueRenderer has any number of groups.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLegendGroupCount in interface ILegendInfo
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendGroup

public ILegendGroup getLegendGroup(int index)
                            throws IOException,
                                   AutomationException
Legend group at the specified index.

Product Availability

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

Specified by:
getLegendGroup in interface ILegendInfo
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.carto.ILegendGroup
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLegendItem

public ILegendItem getLegendItem()
                          throws IOException,
                                 AutomationException
Optional. Defines legend formatting for layer rendered with this object.

Remarks

Layer or renderer legend information is further formatted for display in ArcMap legends. A renderer can override this formatting by returning a LegendItem for this property. ESRI renderers typically do not return anything for this property. With this configuration, legend formatting becomes a user or developer choice on the legend object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getLegendItem in interface ILegendInfo
Returns:
A reference to a com.esri.arcgis.carto.ILegendItem
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSymbolsAreGraduated

public boolean isSymbolsAreGraduated()
                              throws IOException,
                                     AutomationException
Indicates if symbols are graduated.

Description

Indicates whether the symbols used for a layer or renderer's legend vary by size.

Remarks

For example the proportional symbol renderer returns True for this property.

You can use this property to distinguish between a layer symbolized with graduated color or graduated symbol type layer symbology. Both of these symbolizations use a ClassBreaksRenderer, but only a graduated symbol symbolization will return True for this property.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isSymbolsAreGraduated in interface ILegendInfo
Returns:
The symbolsAreGraduated
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolsAreGraduated

public void setSymbolsAreGraduated(boolean symbolsAreGraduated)
                            throws IOException,
                                   AutomationException
Indicates if symbols are graduated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The spatial reference of the GeoDataset.

Remarks

This property is read only. For layers, when the first layer is added to ArcMap, its spatial reference is read by this property, and the map is set to this spatial reference.

Instances of the esriCarto.GroupLayer class will return null for this property, as a group layer can contain multiple datasets with different spatial references.

Modifications to a spatial reference returned by this property will not be persisted. To modify the spatial reference of a dataset, the IGeoDatasetSchemaEdit and IGeoDatasetSchemaEdit2 interfaces should be used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getExtent

public IEnvelope getExtent()
                    throws IOException,
                           AutomationException
The extent of the GeoDataset.

Remarks

The IGeoDataset::Extent property returns an envelope representing the maximum extent of data which has been stored in the dataset.

Consider the following scenario. A new feature class has features added to it. The IGeoDataset::Extent is then requested and an envelope is returned. The extents of the envelope returned are represented by the red box in the image below.

The red box represents the IGeoDataset extent

If a portion of the features were then deleted and the extent is again requested an envelope with the exact same extents as during the first request would be returned (see image below). This is because the deletion of features does not shrink the extent. However all additions of features outside the red box would increase the envelope returned to encompass the newly added features.

The red box represents the IGeoDataset extent after some of the features have been deleted

If you would like to update the IGeoDataset::Extent property to reflect the current features in your dataset please see IFeatureClassManage::UpdateExtent (also see IFeatureClassLoad). In the image below the extent has been updated and a new envelope is being returned.

The red box represents the IGeoDataset extent after it has been updated

ESRI's GroupLayer implements this property differently from most other layer coclasses. When you instantiate a new GroupLayer, this property will return a valid envelope with zero height and width. With most other newly instantiated layers (for example FeatureLayer, RasterLayer, TinLayer), this property initally returns Nothing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtent in interface IGeoDataset
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.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
load in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
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.

isDrawingPropsDirty

public boolean isDrawingPropsDirty()
                            throws IOException,
                                   AutomationException
Indicates if the layer drawing properties are dirty.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isDrawingPropsDirty in interface ILayerDrawingProperties
Returns:
The dirty
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDrawingPropsDirty

public void setDrawingPropsDirty(boolean dirty)
                          throws IOException,
                                 AutomationException
Indicates if the layer drawing properties are dirty.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException