com.esri.arcgis.geodatabase
Class RepresentationWorkspaceExtension

java.lang.Object
  extended by com.esri.arcgis.geodatabase.RepresentationWorkspaceExtension
All Implemented Interfaces:
IDatasetContainer, IDatasetContainer2, IDatasetContainer3, IRepresentationWorkspaceExtension, IWorkspaceEvents, IWorkspaceExtension, IWorkspaceExtension2, IWorkspaceExtensionControl, com.esri.arcgis.interop.RemoteObjRef, ISupportErrorInfo, Serializable, EventListener

public class RepresentationWorkspaceExtension
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IRepresentationWorkspaceExtension, IWorkspaceExtension, IWorkspaceExtension2, IDatasetContainer, IDatasetContainer2, IDatasetContainer3, IWorkspaceExtensionControl, IWorkspaceEvents, ISupportErrorInfo

Workspace extension to support representations in a geodatabase.

Remarks

RepresentationWorkspaceExtension is a workspace extension useful for creating and managing feature class representations. RepresentationClass is a feature class enabled with representation capability using RepresentationRules and Overrides stored within the geodatabase. Use IRepresentationWorkspace.CreateRepresentationClass method to add representation information to a feature class.

IRepresentationWorspaceExtension is the inteface that has methods and properties listed for representation classes present in a workspace.

New RepresentationRules object which is a collection of representation rules based on which features are rendered, has to be created or a reference to rules of an existing representation class has to be made prior to the convertion of a regular feature class into a representation class.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
RepresentationWorkspaceExtension()
          Constructs a RepresentationWorkspaceExtension using ArcGIS Engine.
RepresentationWorkspaceExtension(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
RepresentationWorkspaceExtension theRepresentationWorkspaceExtension = (RepresentationWorkspaceExtension) obj;
 
Method Summary
 void addDataset(IDataset datasetToAdd)
          Adds a dataset to the dataset collection.
 IDataset createDataset(IDEDataset dataElement)
          Given a data element, create a dataset in this container.
 IRepresentationClass createRepresentationClass(IFeatureClass featureClass, String name, String ruleIDFldName, String overrideFldName, boolean requireShapeOverride, IRepresentationRules rules, IGraphicAttributes classAttributes)
          Creates a representation class.
 boolean equals(Object o)
          Compare this object with another
static String getClsid()
          getClsid.
 IEnumBSTR getDataDictionaryTableNames()
          Any data dictionary tables that should not be exposed to browsers and should not participate in edit sessions.
 IDataset getDataset(int type, int index)
          The dataset associated with the specified index value and dataset type.
 IDataset getDatasetByID(int type, int datasetID)
          The dataset associated with the specified index value and dataset type.
 IDataset getDatasetByName(int type, String name)
          The dataset of the specified type with the specified name.
 int getDatasetCount(int type)
          The number of datasets of the specified type in this container.
 IEnumDatasetName getDatasetNames(int type)
          The names of all the datasets with the specified type.
 IEnumDataset getDatasets(int type)
          An enumerator over the datasets of the specified type.
 IEnumDatasetType getDatasetTypes()
          The names of all the datasets with the specified type.
 IEnumDatasetName getFeatureClassRepresentationNames(IFeatureClass featureClass)
          Representation class names associated to a given feature class.
 IUID getGUID()
          The GUID that identifies this Workspace Extension.
 String getName()
          The Name for this Workspace Extension.
 IEnumBSTR getPrivateDatasetNames(int dtype)
          The private datasets that should not be exposed to browsers.
 IEnumDatasetName getRepresentationClassNames()
          Representation class names defined in the workspace.
 IWorkspace getWorkspace()
          The workspace associated with this Workspace Extension.
 int hashCode()
          the hashcode for this object
 void init(IWorkspaceHelper pWorkspaceHelper)
          Initializes the extension, passing in a reference to its workspace helper.
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isFeatureClassHasRepresentations(IFeatureClass featureClass)
          Indicates if the feature class has representations.
 void onCreateDataset(IWorkspaceEventsOnCreateDatasetEvent theEvent)
          This event is fired when a dataset is created.
 void onDeleteDataset(IWorkspaceEventsOnDeleteDatasetEvent theEvent)
          This event is fired when a dataset is deleted.
 void onRenameDataset(IWorkspaceEventsOnRenameDatasetEvent theEvent)
          This event is fired when a dataset is renamed.
 IRepresentationClass openRepresentationClass(String name)
          Opens a representation class.
 boolean ownsDatasetType(int datasetType)
          Indicates if the workspace extension owns the dataset type.
 void shutdown()
          Informs the extension that its workspace helper (and workspace) are going away.
 
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

RepresentationWorkspaceExtension

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

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

RepresentationWorkspaceExtension

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

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

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

openRepresentationClass

public 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.

Product Availability

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

Specified by:
openRepresentationClass in interface IRepresentationWorkspaceExtension
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

public 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 an esriRepresentationError (REP_E_REP_CLASS_NAME_ALREADY_EXISTS).

Product Availability

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

Specified by:
createRepresentationClass in interface IRepresentationWorkspaceExtension
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

public 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.

Product Availability

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

Specified by:
getRepresentationClassNames in interface IRepresentationWorkspaceExtension
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

public 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.

Specified by:
isFeatureClassHasRepresentations in interface IRepresentationWorkspaceExtension
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

public 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.

Specified by:
getFeatureClassRepresentationNames in interface IRepresentationWorkspaceExtension
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.

getName

public String getName()
               throws IOException,
                      AutomationException
The Name for this Workspace Extension.

Remarks

The Name property is the name of the extension.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getGUID

public IUID getGUID()
             throws IOException,
                    AutomationException
The GUID that identifies this Workspace Extension.

Remarks

The GUID property returns the well-known GUID for the extension and is guaranteed to be unique.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getPrivateDatasetNames

public IEnumBSTR getPrivateDatasetNames(int dtype)
                                 throws IOException,
                                        AutomationException
The private datasets that should not be exposed to browsers.

Product Availability

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

Specified by:
getPrivateDatasetNames in interface IWorkspaceExtension
Parameters:
dtype - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
Returns:
A reference to a com.esri.arcgis.system.IEnumBSTR
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDataDictionaryTableNames

public IEnumBSTR getDataDictionaryTableNames()
                                      throws IOException,
                                             AutomationException
Any data dictionary tables that should not be exposed to browsers and should not participate in edit sessions.

Remarks

The PrivateDatasetNames and DataDictionaryNames properties return the names of tables and datasets that are private to the extension and will not be exposed by the workspace to browsing clients. Since they return an EnumBSTR object that is not cocreatable, you must create your own object that implements IEnumBSTR.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

ownsDatasetType

public boolean ownsDatasetType(int datasetType)
                        throws IOException,
                               AutomationException
Indicates if the workspace extension owns the dataset type.

Remarks

The OwnDatasetType method returns a boolean indicating whether the workspace extension supports the specified dataset type.

Product Availability

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

Specified by:
ownsDatasetType in interface IWorkspaceExtension2
Parameters:
datasetType - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
Returns:
The pOwnsType
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWorkspace

public IWorkspace getWorkspace()
                        throws IOException,
                               AutomationException
The workspace associated with this Workspace Extension.

Remarks

The Workspace property returns a reference to the workspace associated with the extension.

Product Availability

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

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

addDataset

public void addDataset(IDataset datasetToAdd)
                throws IOException,
                       AutomationException
Adds a dataset to the dataset collection.

Remarks

When calling this method on feature datasets, both the XY and Z spatial reference systems of the dataset (if applicable) must match those of the feature dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
addDataset in interface IDatasetContainer
Parameters:
datasetToAdd - A reference to a com.esri.arcgis.geodatabase.IDataset (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDataset

public IDataset getDataset(int type,
                           int index)
                    throws IOException,
                           AutomationException
The dataset associated with the specified index value and dataset type.

Product Availability

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

Specified by:
getDataset in interface IDatasetContainer2
Parameters:
type - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
index - The index (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDatasets

public IEnumDataset getDatasets(int type)
                         throws IOException,
                                AutomationException
An enumerator over the datasets of the specified type.

Product Availability

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

Specified by:
getDatasets in interface IDatasetContainer2
Parameters:
type - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDatasetCount

public int getDatasetCount(int type)
                    throws IOException,
                           AutomationException
The number of datasets of the specified type in this container.

Product Availability

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

Specified by:
getDatasetCount in interface IDatasetContainer2
Parameters:
type - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDatasetByName

public IDataset getDatasetByName(int type,
                                 String name)
                          throws IOException,
                                 AutomationException
The dataset of the specified type with the specified name.

Product Availability

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

Specified by:
getDatasetByName in interface IDatasetContainer2
Parameters:
type - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
name - The name (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDatasetNames

public IEnumDatasetName getDatasetNames(int type)
                                 throws IOException,
                                        AutomationException
The names of all the datasets with the specified type.

Product Availability

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

Specified by:
getDatasetNames in interface IDatasetContainer2
Parameters:
type - A com.esri.arcgis.geodatabase.esriDatasetType constant (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.

getDatasetTypes

public IEnumDatasetType getDatasetTypes()
                                 throws IOException,
                                        AutomationException
The names of all the datasets with the specified type.

Remarks

The DatasetTypes property returns an enumerator of IEnumDatasetType containing the supported esriDatasetTypes for the container. Use this method to determine the supported datasets for the container.

Product Availability

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

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

createDataset

public IDataset createDataset(IDEDataset dataElement)
                       throws IOException,
                              AutomationException
Given a data element, create a dataset in this container.

Remarks

The CreateDataset method will create a dataset given a populated data element. Use the DatasetTypes property to determine the supported dataset types.

Product Availability

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

Specified by:
createDataset in interface IDatasetContainer2
Parameters:
dataElement - A reference to a com.esri.arcgis.geodatabase.IDEDataset (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDatasetByID

public IDataset getDatasetByID(int type,
                               int datasetID)
                        throws IOException,
                               AutomationException
The dataset associated with the specified index value and dataset type.

Product Availability

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

Specified by:
getDatasetByID in interface IDatasetContainer3
Parameters:
type - A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
datasetID - The datasetID (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

init

public void init(IWorkspaceHelper pWorkspaceHelper)
          throws IOException,
                 AutomationException
Initializes the extension, passing in a reference to its workspace helper.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
init in interface IWorkspaceExtensionControl
Parameters:
pWorkspaceHelper - A reference to a com.esri.arcgis.geodatabase.IWorkspaceHelper (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

shutdown

public void shutdown()
              throws IOException,
                     AutomationException
Informs the extension that its workspace helper (and workspace) are going away.

Remarks

The Shutdown method informs the workspace extension that the workspace has been released by all clients and is about to go away. In response, the workspace extension should release its reference on the workspace helper. Any subsequent calls by the application to the workspace extension should return an error.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

onCreateDataset

public void onCreateDataset(IWorkspaceEventsOnCreateDatasetEvent theEvent)
                     throws IOException,
                            AutomationException
This event is fired when a dataset is created.

Remarks

The OnCreateDataset method is fired after a dataset has been created.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
onCreateDataset in interface IWorkspaceEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onRenameDataset

public void onRenameDataset(IWorkspaceEventsOnRenameDatasetEvent theEvent)
                     throws IOException,
                            AutomationException
This event is fired when a dataset is renamed.

Remarks

The OnRenameDataset method is fired after a dataset has been renamed.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
onRenameDataset in interface IWorkspaceEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onDeleteDataset

public void onDeleteDataset(IWorkspaceEventsOnDeleteDatasetEvent theEvent)
                     throws IOException,
                            AutomationException
This event is fired when a dataset is deleted.

Remarks

The OnDeleteDataset method is fired after a dataset has been created.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
onDeleteDataset in interface IWorkspaceEvents
Parameters:
theEvent - The event
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.