com.esri.arcgis.geodatabase
Interface IRepresentationWorkspaceExtension

All Superinterfaces:
Serializable
All Known Implementing Classes:
RepresentationWorkspaceExtension

public interface IRepresentationWorkspaceExtension
extends Serializable

Provides access to members that supply representation workspace extension information.

Remarks

Use IRepresentationWorkspaceExtension interface to create and manage feature class representations.

The GUID value for representation workspace extension is: {FD05270A-8E0B-4823-9DEE-F149347C32B6}

RepresentationClassNames returns an enumerator over all feature class representation names present within a workspace extension. For enterprise geodatabases, this property will return all representation classes belonging to all users including the ones that are not owned by the database user.



The following code demonstrates how to get a reference to RepresentationWorkspaceExtension of a workspace. The code assumes you have a reference to a featureclass (pFClass) for which the feature class representation will be created or exists. The workspace corresponds to personal, SDE or File Geodatabase.

'GetRepWSExtFromFClass is a function that takes a reference to a FeatureClass and returns the RepresentationWorkspaceExtension

When To Use

Use IRepresentationWorkspaceExtension when you need to create a new feature class representation, connect and edit an existing feature class representation, or find information about a feature class representation present in a workspace.

Product Availability

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


Method Summary
 IRepresentationClass createRepresentationClass(IFeatureClass featureClass, String name, String ruleIDFldName, String overrideFldName, boolean requireShapeOverride, IRepresentationRules rules, IGraphicAttributes classAttributes)
          Creates a representation class.
 IEnumDatasetName getFeatureClassRepresentationNames(IFeatureClass featureClass)
          Representation class names associated to a given feature class.
 IEnumDatasetName getRepresentationClassNames()
          Representation class names defined in the workspace.
 boolean isFeatureClassHasRepresentations(IFeatureClass featureClass)
          Indicates if the feature class has representations.
 IRepresentationClass openRepresentationClass(String name)
          Opens a representation class.
 

Method Detail

openRepresentationClass

IRepresentationClass openRepresentationClass(String name)
                                             throws IOException,
                                                    AutomationException
Opens a representation class.

Remarks

OpenRepresentationClass method can be used to open any existing feature class representation within a workspace given its name as a string. Use this method in conjuction with RepresentationClassNames property to open all representation classes defined within the workspace or with FeatureClassRepresentationNames property to get access to all representation classes corresponding to a single feature class within the workspace.

It is not necessary to provide fully qualified names as string arguments for opening SDE feature class representations.

The following VBA code snippet shows how to use this method.This code takes references to RepresentationWorkspaceExtension and FeatureClass as input and lists the RepresentationClassNames present in the entire workspace and also lists the RepresentationClassNames present within a single feature class.

Product Availability

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

Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IRepresentationClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createRepresentationClass

IRepresentationClass createRepresentationClass(IFeatureClass featureClass,
                                               String name,
                                               String ruleIDFldName,
                                               String overrideFldName,
                                               boolean requireShapeOverride,
                                               IRepresentationRules rules,
                                               IGraphicAttributes classAttributes)
                                               throws IOException,
                                                      AutomationException
Creates a representation class.

Remarks

CreateRepresentationClass method is used to create a new feature class representation . The feature class parameter is set to a valid feature class for which the representation class will be created. Creating a new feature class representation will result in addition of two new fields for storing the RepresentationRuleID IRepresentationClassName.RuleIDFldName and Overrides IRepresentationClassName.OverrideFldName in the feature class table.

A new RepresentationRules object has to be created or a reference to representation rules of an existing representation class has to be made prior to creating a new representation class. Use IRepresentationRules interface to create new rules object from scratch or use IRepresentationClass.RepresentationRules to get reference to an existing rules object.

Feature class representation names are unique within a single workspace. For enterprise databases, make sure that the fully qualified name is unique within the workspace. Thus, two different owners can create different representation classes with same name.

If a representation class exists in the same geodatabase with the given name, then CreateRepresentationClass will return esriRepresentationError, REP_E_REP_CLASS_NAME_ALREADY_EXISTS = -2147218686.

This code creates a new Feature Class Representation for a point feature layer. Copy this code to VBA. Add a point feature layer at the top position in a map and run this code. The RepresentationRules object contains a standard ArcGIS symbol which is a black-colored diamond, and a new BasicMarkerSymbol which is a red-colored circle. Use your own symbols to create interesting marker symbols.




Product Availability

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

Parameters:
featureClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
name - The name (in)
ruleIDFldName - The ruleIDFldName (in)
overrideFldName - The overrideFldName (in)
requireShapeOverride - The requireShapeOverride (in)
rules - A reference to a com.esri.arcgis.geodatabase.IRepresentationRules (in)
classAttributes - A reference to a com.esri.arcgis.display.IGraphicAttributes (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IRepresentationClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRepresentationClassNames

IEnumDatasetName getRepresentationClassNames()
                                             throws IOException,
                                                    AutomationException
Representation class names defined in the workspace.

Remarks

RepresentationClassNames returns an enumerator over all feature class representation names present within a workspace extension. For enterprise geodatabases, this property will return all representation classes belonging to all users including the ones that are not owned by the database user.

Feature class representation names are unique within a single workspace and no two feature classes will have two different representation classes with the same name (fully qualified names for ArcSDE databases). While creating a new feature class representation, make sure that the fully qualified name parameter is unique within the workspace. This means that for an enterprise geodatabase, the fully qualified names of representations are unique for every database owner and same representation name can exist for separate owners.

The following VBA code shows how to use this method.

This code takes references to RepresentationWorkspaceExtension and FeatureClass as input and lists the RepresentationClassNames present in the entire workspace and for a single feature class.

Product Availability

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

Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumDatasetName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFeatureClassHasRepresentations

boolean isFeatureClassHasRepresentations(IFeatureClass featureClass)
                                         throws IOException,
                                                AutomationException
Indicates if the feature class has representations.

Product Availability

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

Parameters:
featureClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
Returns:
The hasRep
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFeatureClassRepresentationNames

IEnumDatasetName getFeatureClassRepresentationNames(IFeatureClass featureClass)
                                                    throws IOException,
                                                           AutomationException
Representation class names associated to a given feature class.

Product Availability

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

Parameters:
featureClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumDatasetName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.