com.esri.arcgis.controls
Class IARLayerProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.controls.IARLayerProxy
All Implemented Interfaces:
IARLayer, Externalizable, Serializable

public class IARLayerProxy
extends com.esri.arcgis.interop.Dispatch
implements IARLayer, Serializable

Provides access to members that control the ARLayer.

Description

The IARLayer interface is a starting point for getting and setting layer properties, and searching for features within the layer.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

See Also:
Serialized Form

Field Summary
 boolean noncastable
           
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef
 
Constructor Summary
  IARLayerProxy()
           
  IARLayerProxy(Object obj)
           
protected IARLayerProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 int getARLayerCount()
          The number of child layers in a group layer.
 IARLayer getChildARLayer(int index)
          The child layer at the specifid index of a group layer.
 Object getCustomProperty()
          A property to associate data with an object.
 String getDescription()
          The description of the layer.
 void getExtent(double[] xMin, double[] yMin, double[] xMax, double[] yMax)
          The extent of the data within the layer.
 Object getInternalObject()
          The internal ArcObjects ILayer object.
 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()
          The name of the layer.
 String getType()
          The description of the type of layer.
 boolean isCached()
          Indicates if the layer has its own display cache.
 boolean isGroupLayer()
          Indicates if the layer is a group of layers behaving like a single layer.
 boolean isHyperlinks()
          Indicates if the layer contains hyperlinks.
 boolean isSearchable()
          Indicates if the layer is searchable (only feature layers are searchable).
 boolean isVisible()
          Indicates if the layer is currently visible.
 IARFeatureSet queryARFeatures(IARSearchDef pSearchDef)
          Searches the layer using a search definition and returns an ARFeatureSet.
 void removeListener(String iidStr, Object theListener)
           
 IARFeatureCursor searchARFeatures(IARSearchDef pSearchDef)
          Searches the layer using a search definition and returns an ARFeatureCursor.
 void setCustomProperty(Object pVal)
          A property to associate data with an object.
 void setVisible(boolean visible)
          Indicates if the layer is currently visible.
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, optimizedVtblInvoke, queryInterface, readExternal, release, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

noncastable

public boolean noncastable
Constructor Detail

IARLayerProxy

public IARLayerProxy()

IARLayerProxy

public IARLayerProxy(Object obj)
              throws IOException
Throws:
IOException

IARLayerProxy

protected IARLayerProxy(Object obj,
                        String iid)
                 throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

getName

public String getName()
               throws IOException,
                      AutomationException
The name of the layer.

Description

The Name of the layer. This is the name that appears in the Table of Contents (TOC) on the left hand side of the ArcReaderControl.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

isHyperlinks

public boolean isHyperlinks()
                     throws IOException,
                            AutomationException
Indicates if the layer contains hyperlinks.

Description

The Hyperlinks property indicates whether any of the layer's field's contains hyperlinks.

Remarks

Hyperlinks will only be accessible if the currently loaded document was published with permission to view hyperlinks. Use the IARControl::HasDocumentPermission method to determine this.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
isHyperlinks in interface IARLayer
Returns:
The bHasHyperlinks
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.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
setVisible in interface IARLayer
Parameters:
visible - The visible (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.

Description

The Visible property specifies whether the layer is visible in the IARControl::CurrentView.

Remarks

Setting the Visible property will return an error if the currently loaded document was not published with permission to ChangeLayerVisibility. Use the IARControl::HasDocumentPermission method to determine this.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
isVisible in interface IARLayer
Returns:
The visible
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.

Description

When working with the ArcReaderControl, the MaximumScale property specifies the maximum MapScale at which the layer will be displayed. When working with the ArcReaderGlobeControl, the MaximumScale property specifies the maximum Elevation at which the layer will be displayed. If the layer is not drawn on the screen, the layers check box in the Table of Contents (TOC) will be greyed out.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
getMaximumScale in interface IARLayer
Returns:
The maxScale
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.

Description

When working with the ArcReaderControl, the MinimumScale property specifies the minimum MapScale at which the layer will be displayed. When working with the ArcReaderGlobeControl, the MinimumScale property specifies the minimum Elevation at which the layer will be displayed. If the layer is not drawn on the screen, the layers check box in the Table of Contents (TOC) will be greyed out.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
getMinimumScale in interface IARLayer
Returns:
The minScale
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 has its own display cache.

Description

The Cached property specifies whether the layer has its own cache for display purposes.

Remarks

A cache is an off screen bitmap representing an application's window. Instead of drawing directly onto the screen, graphics are drawn into caches which are then drawn onto the screen. When an application's window becomes obscured and requires redrawing, it done so from a cache rather than a database. This improves drawing performance as bitmap rendering is faster than reading and displaying data from a database.

In general an ARMap creates a single cache for all of its layers. Setting the Cached property to true creates a private cache for the layer. In this case, the ARMap will create separate caches for any layers above and below the layer.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

isGroupLayer

public boolean isGroupLayer()
                     throws IOException,
                            AutomationException
Indicates if the layer is a group of layers behaving like a single layer.

Description

The IsGroupLayer property indicates whether the layer is made up of a collection of layers that behave like a single layer.

At the time of publishing a document, several layers may have been gathered together into a group layer, which behaves like a single layer. Suppose you have two layers on a map, with one representing rivers and the other lakes. You might choose to group these layers together and name the resulting layer “water systems”. Using the Visible property to turn off the group layer would turn off all component child layers. As such, the properties of the group layer override any conflicting properties of its child layers. To work with an individual child layer within the group use the ChildARLayer in conjunction with the ARLayerCount property.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
isGroupLayer in interface IARLayer
Returns:
The groupLayer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARLayer#getARLayerCount(), com.esri.arcgis.publishercontrols.IARLayer#getChildARLayer(int)

getARLayerCount

public int getARLayerCount()
                    throws IOException,
                           AutomationException
The number of child layers in a group layer.

Description

The ARLayerCount property indicates the number of layers making up a group layer. Use the IsGroupLayer property to determine if a layer is a group layer.

Remarks

The ARLayerCount does not include graphics layers (this may include layers authored in 3rd party software, for example, SketchUp layers).

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
getARLayerCount in interface IARLayer
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
com.esri.arcgis.publishercontrols.IARLayer#getChildARLayer(int), com.esri.arcgis.publishercontrols.IARLayer

getChildARLayer

public IARLayer getChildARLayer(int index)
                         throws IOException,
                                AutomationException
The child layer at the specifid index of a group layer.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

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

searchARFeatures

public IARFeatureCursor searchARFeatures(IARSearchDef pSearchDef)
                                  throws IOException,
                                         AutomationException
Searches the layer using a search definition and returns an ARFeatureCursor.

Description

Searches the ARLayer based upon an attribute or spatial query as defined by the ArcReaderSearchDef. The ARLayer must be Searchable.

Use the ARFeatureCursor to retrieve each ARFeature one at a time. If there are no ARFeature objects matching the query the first IARFeatureCursor::NextARFeature will return nothing.

Remarks

The SearchARFeatures method will return an error if the currently loaded document was not published with permission to QueryFeatures. Use the IARControl::HasDocumentPermission method to determine this.

If there is an error with the query, such as ill-formed SQL, the error returned will contain an error description from the underlying database.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
searchARFeatures in interface IARLayer
Parameters:
pSearchDef - A reference to a com.esri.arcgis.controls.IARSearchDef (in)
Returns:
A reference to a com.esri.arcgis.controls.IARFeatureCursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDescription

public String getDescription()
                      throws IOException,
                             AutomationException
The description of the layer.

Description

A description of the layer set by the publisher of the Published Map File. For example, an ARLayer with the Name 'water' may have the Description 'Upland river system, surveyed in 1990'.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
getDescription in interface IARLayer
Returns:
The sDescription
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSearchable

public boolean isSearchable()
                     throws IOException,
                            AutomationException
Indicates if the layer is searchable (only feature layers are searchable).

Description

The Searchable property indicates whether the layer can be searched and queried, using the SearchARFeatures and QueryARFeatures methods. Only feature layers can be searched.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
isSearchable in interface IARLayer
Returns:
The bSearchable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInternalObject

public Object getInternalObject()
                         throws IOException,
                                AutomationException
The internal ArcObjects ILayer object.

Description

Use the InternalObject property to access the underlying ILayer object. This property is always inaccessible.

Remarks

Getting the InternalObject property will return an error if no license is available and if the currently loaded document was not published with permission to access InternalObjects. Use the IARControl::HasDocumentPermission method to determine this.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
getInternalObject in interface IARLayer
Returns:
A reference to another Object (IUnknown)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

public void getExtent(double[] xMin,
                      double[] yMin,
                      double[] xMax,
                      double[] yMax)
               throws IOException,
                      AutomationException
The extent of the data within the layer.

Description

Returns the xmin, ymin, xmax and ymax coordinates of the full extent of data in the ARLayer in MapUnits.

Remarks

To zoom to the extent of an ARLayer pass the IARMap::SetExtent method the coordinates returned from the GetExtent method.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
getExtent in interface IARLayer
Parameters:
xMin - The xMin (in/out: use single element array)
yMin - The yMin (in/out: use single element array)
xMax - The xMax (in/out: use single element array)
yMax - The yMax (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCustomProperty

public Object getCustomProperty()
                         throws IOException,
                                AutomationException
A property to associate data with an object.

Description

Use the CustomProperty to associate any useful data with the ARLayer. This is similar to a 'Tag' property, and can be use to store strings, numbers and objects.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
getCustomProperty in interface IARLayer
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCustomProperty

public void setCustomProperty(Object pVal)
                       throws IOException,
                              AutomationException
A property to associate data with an object.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
setCustomProperty in interface IARLayer
Parameters:
pVal - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getType

public String getType()
               throws IOException,
                      AutomationException
The description of the type of layer.

Description

Returns the type of ARLayer. For example, 'FeatureLayer' or 'RasterLayer'.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
getType in interface IARLayer
Returns:
The sDescription
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryARFeatures

public IARFeatureSet queryARFeatures(IARSearchDef pSearchDef)
                              throws IOException,
                                     AutomationException
Searches the layer using a search definition and returns an ARFeatureSet.

Description

Queries the ARLayer based upon an attribute or spatial query as defined by the ArcReaderSearchDef. The ARLayer must be Searchable.

All ARFeature objects matching the query are instantiated in the ARFeatureSet. If the number of features could be very large, this may not be desirable as it may result in a long delay and consume a large amount of memory. Instead use the SearchARFeatures method. If there are no features matching the query the IARFeatureSet::ARFeatureCount property will return 0.

Remarks

The QueryARFeatures method will return an error if the currently loaded document was not published with permission to QueryFeatures. Use the IARControl::HasDocumentPermission method to determine this.

If there is an error with the query, such as ill-formed SQL, the error returned will contain an error description from the underlying database.

Product Availability

Available with ArcGIS Desktop. Requires Publisher Extension.

Specified by:
queryARFeatures in interface IARLayer
Parameters:
pSearchDef - A reference to a com.esri.arcgis.controls.IARSearchDef (in)
Returns:
A reference to a com.esri.arcgis.controls.IARFeatureSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.