com.esri.arcgis.carto
Class LegendGroup

java.lang.Object
  extended by com.esri.arcgis.carto.LegendGroup
All Implemented Interfaces:
ILegendGroup, com.esri.arcgis.interop.RemoteObjRef, IPersist, IPersistStream, IXMLSerialize, Externalizable, Serializable

public class LegendGroup
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ILegendGroup, IPersistStream, IPersist, IXMLSerialize, Externalizable

The collection of legend classes provided by a renderer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
LegendGroup()
          Constructs a LegendGroup using ArcGIS Engine.
LegendGroup(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
LegendGroup theLegendGroup = (LegendGroup) obj;
 
Method Summary
 void addClass(ILegendClass legendClass)
          Adds a new legend class to the group at the end of list.
 void clearClasses()
          Removes all classes from the group.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 boolean equals(Object o)
          Compare this object with another
 ILegendClass esri_getClass(int index)
          Legend class at the specified index.
 int getClassCount()
          Number of legend classes in the group.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 String getHeading()
          String heading.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 int hashCode()
          the hashcode for this object
 void insertClass(int index, ILegendClass legendClass)
          Inserts a new legend class into the group at the specified index.
 void isDirty()
          isDirty
 boolean isEditable()
          Indicates if the group can be edited.
 boolean isVisible()
          Indicates if the group is displayed.
 void load(IStream pstm)
          load
 void readExternal(ObjectInput in)
           
 void removeClass(int index)
          Removes the legend class from the group at the specified index.
 void save(IStream pstm, int fClearDirty)
          save
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setEditable(boolean editable)
          Indicates if the group can be edited.
 void setHeading(String heading)
          String heading.
 void setVisible(boolean visible)
          Indicates if the group is displayed.
 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

LegendGroup

public LegendGroup()
            throws IOException,
                   UnknownHostException
Constructs a LegendGroup using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

LegendGroup

public LegendGroup(Object obj)
            throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
LegendGroup theLegendGroup = (LegendGroup) obj;

Construct a LegendGroup using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to LegendGroup.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


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

isVisible

public boolean isVisible()
                  throws IOException,
                         AutomationException
Indicates if the group is displayed.

Remarks

This property indicates whether or not a layer's entry in the table of contents is expanded or collapsed. If a layer has only one legend group, then if Visible = True, then the layer is expanded. If a layer has more than one legend group, then the rule is that if any of the the layer's legend groups are visible, then the layer's entry in the table of contents is expanded.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isVisible in interface ILegendGroup
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 group is displayed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isEditable

public boolean isEditable()
                   throws IOException,
                          AutomationException
Indicates if the group can be edited. Default is editable.

Remarks

This property indicates whether or not the symbols and text strings in the LegendClass objects of a LegendGroup can be edited. If this property is False then the user cannot edit the group's symbols and text labels in the ArcMap table of contents.

For example, the legend for a layer symbolized with a ChartRenderer with PieChartSymbols consists of two legend groups. The first legend group contains a representative pie chart symbol and is not editable. The second legend group contains the individual fill symbols that make up the pie chart slices, and this legend group is editable.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isEditable in interface ILegendGroup
Returns:
The editable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setEditable

public void setEditable(boolean editable)
                 throws IOException,
                        AutomationException
Indicates if the group can be edited. Default is editable.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getHeading

public String getHeading()
                  throws IOException,
                         AutomationException
String heading.

Remarks

This property is the text string that describes the content of the legend group. This text string appears in the table of contents and can appear also in the legend. This string is typically generated by the renderer, but can be modified after creation by the user.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getHeading in interface ILegendGroup
Returns:
The heading
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHeading

public void setHeading(String heading)
                throws IOException,
                       AutomationException
String heading.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getClassCount

public int getClassCount()
                  throws IOException,
                         AutomationException
Number of legend classes in the group.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

esri_getClass

public ILegendClass esri_getClass(int index)
                           throws IOException,
                                  AutomationException
Legend class at the specified index.

Product Availability

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

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

addClass

public void addClass(ILegendClass legendClass)
              throws IOException,
                     AutomationException
Adds a new legend class to the group at the end of list.

Remarks

Modifying the number of classes in a LegendGroup through addition, insertion, and deletion is the job of the renderer object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

insertClass

public void insertClass(int index,
                        ILegendClass legendClass)
                 throws IOException,
                        AutomationException
Inserts a new legend class into the group at the specified index.

Remarks

Modifying the number of classes in a LegendGroup through addition, insertion, and deletion is the job of the renderer object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

removeClass

public void removeClass(int index)
                 throws IOException,
                        AutomationException
Removes the legend class from the group at the specified index.

Remarks

Modifying the number of classes in a LegendGroup through addition, insertion, and deletion is the job of the renderer object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

clearClasses

public void clearClasses()
                  throws IOException,
                         AutomationException
Removes all classes from the group.

Remarks

Modifying the number of classes in a LegendGroup through addition, insertion, and deletion is the job of the renderer object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
clearClasses in interface ILegendGroup
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.

serialize

public void serialize(IXMLSerializeData data)
               throws IOException,
                      AutomationException
Serializes an object to XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deserialize

public void deserialize(IXMLSerializeData data)
                 throws IOException,
                        AutomationException
Deserializes an object from XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
deserialize in interface IXMLSerialize
Parameters:
data - A reference to a com.esri.arcgis.system.IXMLSerializeData (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