com.esri.arcgis.display
Class SymbolCollection

java.lang.Object
  extended by com.esri.arcgis.display.SymbolCollection
All Implemented Interfaces:
ISymbolCollection, ISymbolCollection2, com.esri.arcgis.interop.RemoteObjRef, IClone, IPersist, IPersistStream, Externalizable, Serializable

public class SymbolCollection
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ISymbolCollection, ISymbolCollection2, IPersist, IPersistStream, IClone, Externalizable

Collection of symbols and id pairs.

Remarks

A symbol collection is a collection of SymbolIdentifiers that each have a name, a symbol, and a unique ID. This is a generic collection that can store any symbol type, however, this object is primarily used in the AnnotationFeatureClassExtension as an efficient way to store TextSymbols for AnnotationFeatures. Rather than storing the TextSymbol of an AnnotationFeature with each row of the FeatureClass, AnnotationFeatures that have the same symbol can efficiently reference the same symbol in the SymbolCollection. The linkage between the TextElement of the AnnotationFeature and the symbol in the SymbolCollection is established using the interface ISymbolCollectionElement on the TextElement. ISymbolCollectionElement also provides additional access to properties that can be individually overridden for each TextElement. See ISymbolCollectionElement for more details.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
SymbolCollection()
          Constructs a SymbolCollection using ArcGIS Engine.
SymbolCollection(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
SymbolCollection theSymbolCollection = (SymbolCollection) obj;
 
Method Summary
 void addSymbol(ISymbol symbol, String name, ISymbolIdentifier2[] symbolID)
          Adds a symbol to the collection.
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 boolean equals(Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 int getCount()
          The number of symbols in the collection.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 ISymbol getSymbol(int symbolID)
          The symbol associated with the symbolID.
 void getSymbolIdentifier(int iD, ISymbolIdentifier2[] symbolID)
          Returns the symbol with the given ID.
 int hashCode()
          the hashcode for this object
 void isDirty()
          isDirty
 boolean isEqual(IClone other)
          Indicates if the receiver and other have the same properties.
 boolean isIdentical(IClone other)
          Indicates if the receiver and other are the same object.
 void load(IStream pstm)
          load
 ISymbolIdentifier next()
          Returns the next symbolID-symbol pair in the collection.
 void readExternal(ObjectInput in)
           
 void remove(int symbolID)
          Removes the symbolID-symbol pair in the collection.
 void removeAll()
          Removes all the symbolID-symbol pairs in the collection.
 void renameSymbol(int symbolID, String name)
          Renames the symbol with the given ID.
 void replace(int symbolID, ISymbol symbol)
          Replaces the symbol associated with the symbolID.
 void reset()
          Prepares the collection for Next to be called.
 void save(IStream pstm, int fClearDirty)
          save
 void setSymbolByRef(int symbolID, ISymbol symbol)
          The symbol associated with the symbolID.
 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

SymbolCollection

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

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

SymbolCollection

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

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

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

getSymbol

public ISymbol getSymbol(int symbolID)
                  throws IOException,
                         AutomationException
The symbol associated with the symbolID.

Product Availability

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

Specified by:
getSymbol in interface ISymbolCollection
Specified by:
getSymbol in interface ISymbolCollection2
Parameters:
symbolID - The symbolID (in)
Returns:
A reference to a com.esri.arcgis.display.ISymbol
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSymbolByRef

public void setSymbolByRef(int symbolID,
                           ISymbol symbol)
                    throws IOException,
                           AutomationException
The symbol associated with the symbolID.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSymbolByRef in interface ISymbolCollection
Specified by:
setSymbolByRef in interface ISymbolCollection2
Parameters:
symbolID - The symbolID (in)
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reset

public void reset()
           throws IOException,
                  AutomationException
Prepares the collection for Next to be called.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

next

public ISymbolIdentifier next()
                       throws IOException,
                              AutomationException
Returns the next symbolID-symbol pair in the collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
next in interface ISymbolCollection
Specified by:
next in interface ISymbolCollection2
Returns:
A reference to a com.esri.arcgis.display.ISymbolIdentifier
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

replace

public void replace(int symbolID,
                    ISymbol symbol)
             throws IOException,
                    AutomationException
Replaces the symbol associated with the symbolID.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
replace in interface ISymbolCollection
Specified by:
replace in interface ISymbolCollection2
Parameters:
symbolID - The symbolID (in)
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

remove

public void remove(int symbolID)
            throws IOException,
                   AutomationException
Removes the symbolID-symbol pair in the collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
remove in interface ISymbolCollection
Specified by:
remove in interface ISymbolCollection2
Parameters:
symbolID - The symbolID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeAll

public void removeAll()
               throws IOException,
                      AutomationException
Removes all the symbolID-symbol pairs in the collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

addSymbol

public void addSymbol(ISymbol symbol,
                      String name,
                      ISymbolIdentifier2[] symbolID)
               throws IOException,
                      AutomationException
Adds a symbol to the collection. The ID will be set by the collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addSymbol in interface ISymbolCollection2
Parameters:
symbol - A reference to a com.esri.arcgis.display.ISymbol (in)
name - The name (in)
symbolID - A reference to a com.esri.arcgis.display.ISymbolIdentifier2 (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSymbolIdentifier

public void getSymbolIdentifier(int iD,
                                ISymbolIdentifier2[] symbolID)
                         throws IOException,
                                AutomationException
Returns the symbol with the given ID.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSymbolIdentifier in interface ISymbolCollection2
Parameters:
iD - The iD (in)
symbolID - A reference to a com.esri.arcgis.display.ISymbolIdentifier2 (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

renameSymbol

public void renameSymbol(int symbolID,
                         String name)
                  throws IOException,
                         AutomationException
Renames the symbol with the given ID.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getCount

public int getCount()
             throws IOException,
                    AutomationException
The number of symbols in the collection.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCount in interface ISymbolCollection2
Returns:
The count
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.

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.

esri_clone

public IClone esri_clone()
                  throws IOException,
                         AutomationException
Clones the receiver and assigns the result to *clone.

Product Availability

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

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

assign

public void assign(IClone src)
            throws IOException,
                   AutomationException
Assigns the properties of src to the receiver.

Description

Use Assign method to assign the properties of source object to receiver object. Both objects need to have the same CLSIDs. Both source and receiver objects need to be instantiated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isEqual

public boolean isEqual(IClone other)
                throws IOException,
                       AutomationException
Indicates if the receiver and other have the same properties.

Description

IsEqual returns True if the receiver and the source have the same properties. Note, this does not imply that the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isEqual in interface IClone
Parameters:
other - A reference to a com.esri.arcgis.system.IClone (in)
Returns:
The equal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isIdentical

public boolean isIdentical(IClone other)
                    throws IOException,
                           AutomationException
Indicates if the receiver and other are the same object.

Description

IsIdentical returns true if the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isIdentical in interface IClone
Parameters:
other - A reference to a com.esri.arcgis.system.IClone (in)
Returns:
The identical
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