com.esri.arcgis.geodatabase
Class RepresentationRules

java.lang.Object
  extended by com.esri.arcgis.geodatabase.RepresentationRules
All Implemented Interfaces:
IRepresentationRules, com.esri.arcgis.interop.RemoteObjRef, IClone, IDocumentVersionSupportGEN, IPersist, IPersistStream, ISupportErrorInfo, Externalizable, Serializable

public class RepresentationRules
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IRepresentationRules, IClone, IPersist, IPersistStream, ISupportErrorInfo, IDocumentVersionSupportGEN, Externalizable

A collection of representation rules object.

Remarks

RepresentationRules is a collection of RepresentationRule objects useful for representing features in a representation class. Features can be categorized into groups based on these rules. A representation class is associated with a single set of rules managed by IRepresentationRules interface.

RepresentationRule is a combination of one or more basic symbols such as BasicMarkerSymol along with MarkerPlacement, BasicLineSymbol and BasicFillSymbol implementing IBasicSymbol interface. Complex symbols can be created by incorporating geometric effect(s). Standard ArcGIS symbols such as SimpleMarkerSymbol, SimpleLineSymbol etc implementing ISymbol interface can also be converted to basic symbols using for using them within a rule using IRepresentationRuleInit interface.

To access individual rules, use IRepresentationRules.Next method.

A new representation rules collection has to be created or a reference to an existing Representation Rules has to be made prior to converting a feature class into a representation class. The representation rules can also be modified by adding or removing individual rules, updating graphic attributes, adding/removing basic symbols, adding/removing geometric effects etc., or use IRepresentationClass.RepresentationRules to get a reference to an existing representation rules object.

Note: IRepresentationRule and IRepresentationRuleInit are interfaces present in esriDisplay library.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
RepresentationRules()
          Constructs a RepresentationRules using ArcGIS Engine.
RepresentationRules(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
RepresentationRules theRepresentationRules = (RepresentationRules) obj;
 
Method Summary
 int add(IRepresentationRule repRule)
          Adds a new representation rule to the collection.
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 Object convertToSupportedObject(int docVersion)
          Convert the object to another object that is supported.
 boolean equals(Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 boolean exists(int iD)
          Checks whether the given representation rule exists in the collection.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 int getIndex(int iD)
          Index of a representation rule indicated by its ID.
 String getName(int iD)
          Name of a representation rule indicated by its ID.
 IRepresentationRule getRule(int iD)
          The representation rule indicated by its ID.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 void isDirty()
          isDirty
 boolean isEqual(IClone other)
          Returns TRUE when the receiver and other have the same properties.
 boolean isIdentical(IClone other)
          Returns TRUE when the receiver and other are the same object.
 boolean isSupportedAtVersion(int docVersion)
          Is this object valid at the given document version.
 void load(IStream pstm)
          load
 void next(int[] iD, IRepresentationRule[] repRule)
          Returns the next representation rule in the enumeration.
 void readExternal(ObjectInput in)
           
 void remove(int iD)
          Removes the representation rule identified by its ID.
 void removeAll()
          Removes all the representation rules from the collection.
 void reset()
          Resets the representation rule enumeration to the beginning.
 void save(IStream pstm, int fClearDirty)
          save
 void setIndex(int iD, int index)
          Index of a representation rule indicated by its ID.
 void setName(int iD, String name)
          Name of a representation rule indicated by its ID.
 void setRule(int iD, IRepresentationRule repRule)
          The representation rule indicated by its ID.
 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

RepresentationRules

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

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

RepresentationRules

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

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

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

getName

public String getName(int iD)
               throws IOException,
                      AutomationException
Name of a representation rule indicated by its ID.

Product Availability

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

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

setName

public void setName(int iD,
                    String name)
             throws IOException,
                    AutomationException
Name of a representation rule indicated by its ID.

Product Availability

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

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

getIndex

public int getIndex(int iD)
             throws IOException,
                    AutomationException
Index of a representation rule indicated by its ID.

Product Availability

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

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

setIndex

public void setIndex(int iD,
                     int index)
              throws IOException,
                     AutomationException
Index of a representation rule indicated by its ID.

Product Availability

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

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

reset

public void reset()
           throws IOException,
                  AutomationException
Resets the representation rule enumeration to the beginning.

Product Availability

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

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

next

public void next(int[] iD,
                 IRepresentationRule[] repRule)
          throws IOException,
                 AutomationException
Returns the next representation rule in the enumeration.

Remarks

Call Reset method before calling Next method as this will take the rules collection to the beginning.

Product Availability

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

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

getRule

public IRepresentationRule getRule(int iD)
                            throws IOException,
                                   AutomationException
The representation rule indicated by its ID.

Product Availability

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

Specified by:
getRule in interface IRepresentationRules
Parameters:
iD - The iD (in)
Returns:
A reference to a com.esri.arcgis.display.IRepresentationRule
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setRule

public void setRule(int iD,
                    IRepresentationRule repRule)
             throws IOException,
                    AutomationException
The representation rule indicated by its ID.

Product Availability

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

Specified by:
setRule in interface IRepresentationRules
Parameters:
iD - The iD (in)
repRule - A reference to a com.esri.arcgis.display.IRepresentationRule (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

add

public int add(IRepresentationRule repRule)
        throws IOException,
               AutomationException
Adds a new representation rule to the collection.

Product Availability

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

Specified by:
add in interface IRepresentationRules
Parameters:
repRule - A reference to a com.esri.arcgis.display.IRepresentationRule (in)
Returns:
The iD
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

remove

public void remove(int iD)
            throws IOException,
                   AutomationException
Removes the representation rule identified by its ID.

Product Availability

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

Specified by:
remove in interface IRepresentationRules
Parameters:
iD - The iD (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 representation rules from the collection.

Remarks

Use RemoveAll method when you want to remove all representation rule items present in a representation rules collection.

This method must be used with care as once it is used, the representation rules object will become empty and it is the responsibility of the developer to create new representation rule(s) to add to the rules collection. Add method can be used to add new rule(s)

Product Availability

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

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

exists

public boolean exists(int iD)
               throws IOException,
                      AutomationException
Checks whether the given representation rule exists in the collection.

Remarks

Exists method can be used to check for the availability of a specific representation rule within a RepresentationRules object before assigning it to a feature representation.

Product Availability

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

Specified by:
exists in interface IRepresentationRules
Parameters:
iD - The iD (in)
Returns:
The exists
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
Returns TRUE when 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
Returns TRUE when 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.

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.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isSupportedAtVersion

public boolean isSupportedAtVersion(int docVersion)
                             throws IOException,
                                    AutomationException
Is this object valid at the given document version.

Remarks

Use IsSupportedAtVersion to identify if a particular object should be saved to the ObjectStream. This result is based on the esriArcGISVersion enumeration. In some instances, if the object is not supported at a particular ArcGIS version, the object may support conversion to another similar object; use IDocumentVersionSupportGEN::ConvertToSupportedObject to accomplish this.

Product Availability

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

Specified by:
isSupportedAtVersion in interface IDocumentVersionSupportGEN
Parameters:
docVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
Returns:
The supported
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

convertToSupportedObject

public Object convertToSupportedObject(int docVersion)
                                throws IOException,
                                       AutomationException
Convert the object to another object that is supported.

Remarks

This method should be used when IDocumentVersionSupportGEN::IsSupportedAtVersion returns FALSE. Calling ConvertToSupportedObject will return an IUnknown pointer to a relevant object supported at the particular ArcGIS version. Not all objects will return a supported object; in these cases a null pointer will be returned.

Product Availability

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

Specified by:
convertToSupportedObject in interface IDocumentVersionSupportGEN
Parameters:
docVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
Returns:
A Variant
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