|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.geodatabase.Workspace
public class Workspace
Workspace Object.
A Workspace is a container of spatial and non-spatial datasets such as feature classes, raster datasets and tables. It provides methods to instantiate existing datasets and to create new datasets. Workspaces are classified into types specified by the esriWorkspaceType enumerator; FileSystemWorkspace, LocalDatabaseWorkspace, and RemoteDatabaseWorkspace. Shapefiles and ArcInfo workspaces are examples of FileSystemWorkspace. A personal geodatabase stored in Access or a File Geodatabase is an example of a LocalDatabaseWorkspace. A geodatabase stored in an RDBMS such as Oracle, DB2, SqlServer, or Informix and accessed via ArcSDE is an example of a RemoteDatabaseWorkspace.
A Workspace hands out a WorkspaceName name object as the value of its FullName property. The WorkspaceName for a workspace can be persisted, for example, in a map document. An application can call the Open method on the workspace name after loading it from persistent storage in order to connect to and get an object reference to the workspace.
Constructor Summary | |
---|---|
Workspace(Object obj)
Construct a Workspace using a reference to such an object returned from ArcGIS Engine or Server. |
Method Summary | |
---|---|
void |
abortEditOperation()
Aborts an edit operation. |
void |
abortTransaction()
Aborts the current transaction. |
void |
addDataset(IDataset datasetToAdd)
Adds a dataset to the dataset collection. |
int |
addDomain(IDomain domain)
Adds the given domain to the workspace. |
void |
addIWorkspaceEvents2Listener(IWorkspaceEvents2 theListener)
addIWorkspaceEvents2Listener. |
void |
addIWorkspaceEventsListener(IWorkspaceEvents theListener)
addIWorkspaceEventsListener. |
void |
addSymbolCollection(String name,
Object symbolCollection)
Updates the symbol collection in the class extension. |
void |
alterClassExtensionCLSID(String name,
IUID classExtensionCLSID,
IPropertySet classExtensionProperties)
Changes the class extension COM class associated with this database class. |
void |
alterDomain(IDomain domain)
Alters an existing domain in the workspace. |
void |
alterInstanceCLSID(String name,
IUID instanceCLSID)
Changes the instance COM class associated with this database class. |
void |
alterReplica(IReplica replica)
Updates replica information. |
void |
alterReplica2(IReplica replica,
boolean persistParentUserInfo)
Alter replica properties with the ability to persist userID and Password. |
void |
analyzeIndex(String tableName,
String index)
Analyze the index to generate DBMS statistics. |
void |
analyzeTable(String tableName,
int tableComponents)
Analyze the table to generate DBMS statistics. |
boolean |
canCompact()
True if this dataset can be compacted. |
boolean |
canCopy()
True if this dataset can be copied. |
boolean |
canDelete()
True if this dataset can be deleted. |
boolean |
canDelete(IName aName)
Checks if an object can be deleted. |
boolean |
canRegisterReplicaDataset(IReplicaDataset replicaDataset,
IReplica replica)
Indicates if a replica dataset can be registed with the replica. |
boolean |
canRename()
True if this dataset can be renamed. |
boolean |
canRename(IName aName)
Checks if an object can be renamed. |
boolean |
canUnregisterReplicaDataset(IReplicaDataset replicaDataset)
Indicates if a replica dataset can be unregisted from the replica. |
void |
commitTransaction()
Commits the current transaction. |
void |
compact()
Compacts the database. |
IDataset |
copy(String copyName,
IWorkspace copyWorkspace)
Copies this dataset to a new dataset with the specified name. |
IFeatureClass |
createAnnotationClass(String name,
IFields fields,
IUID cLSID,
IUID eXTCLSID,
String shapeFieldName,
String configKeyword,
IFeatureDataset dstFeatureDataset,
IFeatureClass srcFeatureClass,
Object annoProperties,
Object referenceScale,
Object symbolCollection,
boolean autoCreate)
Creates a new annotation feature class in the workspace. |
IFeatureClass |
createFeatureClass(String name,
IFields fields,
IUID cLSID,
IUID eXTCLSID,
int featureType,
String shapeFieldName,
String configKeyword)
Creates a new standalone feature class under the workspace. |
IFeatureDataset |
createFeatureDataset(String name,
ISpatialReference spatialReference)
Creates a new feature dataset. |
IQueryDef |
createQueryDef()
Create a query definition object. |
IRasterCatalog |
createRasterCatalog(String name,
IFields fields,
String shapeFieldName,
String rasterFieldName,
String configKeyword)
Creates a new raster catalog. |
IRasterDataset |
createRasterDataset(String name,
int numBands,
int pixelType,
IRasterStorageDef storageDef,
String configKeyword,
IRasterDef rasterDef,
IGeometryDef geometryDef)
Creates a new raster dataset. |
IRelationshipClass |
createRelationshipClass(String relClassName,
IObjectClass originClass,
IObjectClass destinationClass,
String forwardLabel,
String backwardLabel,
int cardinality,
int notification,
boolean isComposite,
boolean isAttributed,
IFields relAttrFields,
String originPrimaryKey,
String destPrimaryKey,
String originForeignKey,
String destForeignKey)
Creates a new relationship class. |
ITable |
createTable(String name,
IFields fields,
IUID cLSID,
IUID eXTCLSID,
String configKeyword)
Creates a new table. |
void |
delete()
Deletes this dataset. |
void |
deleteByName(IDatasetName aName)
Deletes an object by it's name. |
void |
deleteDomain(String domainName)
Deletes the given domain from the workspace. |
void |
deleteRasterCatalog(String name)
Deletes a raster catalog. |
void |
deleteRasterDataset(String name)
Deletes a raster dataset. |
void |
disableUndoRedo()
Disables Undo and Redo of edit operations. |
void |
emptyCache()
Empties the spatial cache. |
void |
enableUndoRedo()
Enables Undo and Redo of edit operations. |
boolean |
equals(Object o)
Compare this object with another |
void |
executeSQL(String sqlStmt)
Executes the specified SQL statement. |
boolean |
exists()
Checks if the workspace exists. |
void |
fillCache(IEnvelope pExtent)
Fills the spatial cache using the specified extent. |
void |
fillCacheEx(IEnvelope pExtent,
double expansionFactor)
Fills the spatial cache using the specified extent with an expansion factor. |
IWorkspaceExtension |
findExtension(IUID pGUID)
Finds the specified workspace extension by its globally unique id. |
int |
getAutoCommitInterval()
The auto commit interval is the number of modification operations before a database commit is executed. |
String |
getBrowseName()
The browse name of the dataset. |
int |
getBugfixVersion()
Geodatabase bugfix version level. |
double |
getCacheExpansionFactor()
The extent expansion factor for the spatial cache. |
IEnvelope |
getCacheExtent()
The extent of the spatial cache. |
String |
getCategory()
The category of the dataset. |
IEnumConfigurationKeyword |
getConfigurationKeywords()
The available configuration keywords. |
String |
getConnectedDatabase()
The name of the connected database. |
String |
getConnectedUser()
The name of the connected user. |
IPropertySet |
getConnectionProperties()
The connection properties of the workspace. |
IEnumDatasetName |
getDatasetNames(int datasetType)
The DatasetNames in the workspace. |
IEnumDataset |
getDatasets(int datasetType)
The datasets in the workspace. |
boolean |
getDelimitedIdentifierCase()
True if DBMS's quoted identifiers are case sensitive. |
IDomain |
getDomainByName(String domainName)
The domain with the given name from the workspace. |
IEnumDomain |
getDomains()
All the domains in the workspace. |
IEnumDomain |
getDomainsByFieldType(int type)
The domain with the given name from the workspace. |
IWorkspaceExtension |
getExtension(int index)
The workspace extension at this index. |
int |
getExtensionCount()
The number of workspace extensions. |
IName |
getFullName()
The associated name object. |
String |
getFunctionName(int sqlFunc)
DBMS dependent SQL function names. |
boolean |
getIdentifierCase()
True if DBMS's identifiers are case sensitive. |
String |
getInvalidCharacters()
The list of invalid characters used in literals (if any). |
String |
getInvalidStartingCharacters()
The list of invalid characters used in literals (if any). |
IEnumBSTR |
getKeywords()
The list of DBMS specific reserved keywords. |
int |
getMajorVersion()
Geodatabase major version level. |
int |
getMinorVersion()
Geodatabase minor version level. |
String |
getName()
The name of the Dataset. |
String |
getPathName()
The file system full path of the workspace. |
IPropertySet |
getPropertySet()
The set of properties for the dataset. |
IReplica |
getReplicaByGuid(String replicaGuid)
The replica or reference to a replica with the specified ID. |
IReplica |
getReplicaByID(int replicaID)
The replica or reference to a replica with the specified ID. |
IReplica |
getReplicaByName(String replicaName)
The replica or reference to a replica with the specified name. |
IEnumReplicaDataset |
getReplicaDatasetsByID(int replicaID)
A list of datasets based on a replica ID. |
IEnumReplicaDataset |
getReplicaDatasetsByName(String replicaName)
A list of datasets based on a replica name. |
IEnumReplica |
getReplicas()
Replicas contained by or refernced by this workspace. |
ILongArray |
getReplicasByDataset(int datasetType,
int datasetID)
Indicates if dataset is part of a replica. |
IEnumSpatialReferenceInfo |
getSpatialReferenceInfo()
The defined Spatial References in the Workspace. |
String |
getSpecialCharacter(int sqlSC)
Special DBMS dependent SQL characters. |
boolean |
getStringComparisonCase()
True if string comparisons are case sensitive. |
IEnumDataset |
getSubsets()
Datasets contained within this dataset. |
int |
getSupportedClauses()
Supported SQL clauses. |
int |
getSupportedPredicates()
Supported SQL predicates. |
int |
getType()
The Type of the Workspace. |
IWorkspace |
getWorkspace()
The workspace containing this dataset. |
IWorkspaceFactory |
getWorkspaceFactory()
The factory that created the workspace. |
void |
hasEdits(boolean[] pHasEdits)
True if there are any completed edit operations that need to be saved . |
int |
hashCode()
the hashcode for this object |
void |
hasRedos(boolean[] pHasRedos)
True if there are any completed undos that can be redone. |
void |
hasUndos(boolean[] pHasUndos)
True if there are any completed edit operations that can be undone. |
boolean |
isBeingEdited()
True if the workspace is being edited. |
boolean |
isCacheIsFull()
Indicates if the spatial cache is full. |
boolean |
isCanDeleteDomain(String domainName)
Indicates if the user can delete the domain. |
boolean |
isCanUpgrade()
Indicates if the geodatabase can be upgraded with this interface. |
boolean |
isCurrentRelease()
Indicates if the geodatabase at the current release level. |
boolean |
isDirectory()
TRUE if the workspace is a file system directory. |
boolean |
isInTransaction()
Indicates if there is already a transaction in progress. |
boolean |
isNameExists(int type,
String name)
Indicates if a dataset with the given name exists within the workspace. |
boolean |
isReferencedByReplica(int datasetType,
int datasetID)
Indicates if dataset is part of a replica. |
boolean |
isRegisteredAsObjectClass(String name)
Checks if an object is registered as an object class. |
boolean |
isRegisteredAsVersioned(IName aName)
Checks if an object is registered as versioned. |
IFeatureClass |
openFeatureClass(String name)
Opens an existing feature class. |
IFeatureDataset |
openFeatureDataset(String name)
Opens an existing feature dataset. |
IFeatureDataset |
openFeatureQuery(String queryName,
IQueryDef queryDef)
Opens a feature dataset containing a single feature class defined by the specified Query. |
IRasterCatalog |
openRasterCatalog(String name)
Opens an existing raster catalog. |
IRasterDataset |
openRasterDataset(String name)
Opens an existing raster dataset. |
IRelationshipClass |
openRelationshipClass(String name)
Opens an existing relationship class. |
ITable |
openRelationshipQuery(IRelationshipClass relClass,
boolean joinForward,
IQueryFilter srcQueryFilter,
ISelectionSet srcSelectionSet,
String targetColumns,
boolean doNotPushJoinToDB)
The table of a relationship join query. |
ITable |
openTable(String name)
Opens an existing table. |
ITopology |
openTopology(String name)
Opens and returns the topology with the specified name. |
void |
parseColumnName(String fullName,
String[] dbName,
String[] ownerName,
String[] tableName,
String[] columnName)
Given a column name, determine its qualification parts. |
void |
parseTableName(String fullName,
String[] dbName,
String[] ownerName,
String[] tableName)
Given a table name, determine its qualification parts. |
String |
qualifyColumnName(String tableName,
String columnName)
Given a table name and column name, returns its fully qualified name. |
String |
qualifyTableName(String dbName,
String ownerName,
String tableName)
Given a database, owner, and table name, return its fully qualified name. |
void |
redoEditOperation()
Causes a Redo to be performed on the last undo. |
void |
refreshReplicas()
Re-reads the list of replicas from the database. |
void |
registerAsRasterCatalog(String name,
String oIDFieldName,
IGeometryDef geometryDef)
Registers as a RasterCatalog. |
void |
registerAsRasterDataset(String name,
IGeometryDef geometryDef)
Registers as a RasterDataset. |
void |
registerExtension(String name,
IUID pGUID)
Registers this workspace extension with the database making it required for successful connection to this database. |
int |
registerReplica(IReplica replica)
Creates new replica information. |
void |
registerReplicaDataset(IReplicaDataset rDataset,
int filter,
boolean useGeometry,
String queryDef,
IFIDSet pSelID,
IReplica pToReplica)
Register replica dataset info with the replica. |
void |
removeIWorkspaceEvents2Listener(IWorkspaceEvents2 theListener)
removeIWorkspaceEvents2Listener. |
void |
removeIWorkspaceEventsListener(IWorkspaceEvents theListener)
removeIWorkspaceEventsListener. |
void |
rename(String name)
Renames this Dataset. |
void |
replaceSymbolCollection(String name,
Object symbolCollection)
Replaces the symbol collection in the class extension. |
IRasterDataset |
saveAsRasterDataset(String name,
IRaster raster,
IRasterStorageDef storageDef,
String configKeyword,
IRasterDef rasterDef,
IGeometryDef geometryDef)
Creates a new raster dataset from another seed Raster. |
void |
setAutoCommitInterval(int interval)
The auto commit interval is the number of modification operations before a database commit is executed. |
void |
setBrowseName(String name)
The browse name of the dataset. |
void |
setStoreEventsRequired()
Indicates that insert and update cursors on simple classes cannot bypass store events |
void |
startEditing(boolean withUndoRedo)
Starts editing the workspace. |
void |
startEditOperation()
Begins an edit operation. |
void |
startTransaction()
Begins a new transaction. |
void |
stopEditing(boolean saveEdits)
Stops editing the workspace. |
void |
stopEditOperation()
Ends an edit operation. |
void |
undoEditOperation()
Causes an Undo to be performed on the last edit operation. |
void |
unRegisterExtension(IUID pGUID)
UnRegisters this workspace extension making it no longer required for successful connection to this database. |
void |
unregisterReplica(IReplica replica,
boolean removeCOVersion)
Removes replica information. |
void |
unregisterReplicaDataset(IReplicaDataset replicaDataset,
IReplica replica)
Removes replica dataset info from the replica. |
void |
upgrade()
Upgrade the database to the current release level. |
IField |
validateField(IField inField)
Validate a field, performing type conversion if necessary. |
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 |
---|
public Workspace(Object obj) throws IOException
obj
to Workspace
. *
Workspace o = (Workspace)obj; // will not work
Workspace o = new Workspace(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server
IOException
- if there are interop problems
Workspace theWorkspace = (Workspace) obj;
Method Detail |
---|
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public void addIWorkspaceEventsListener(IWorkspaceEvents theListener) throws IOException
theListener
- An object that implements the com.esri.arcgis.geodatabase.IWorkspaceEvents interface.
IOException
- If there are communications problems.public void removeIWorkspaceEventsListener(IWorkspaceEvents theListener) throws IOException
theListener
- An object that implements the com.esri.arcgis.geodatabase.IWorkspaceEvents interface.
IOException
- If there are communications problems.public void addIWorkspaceEvents2Listener(IWorkspaceEvents2 theListener) throws IOException
theListener
- An object that implements the com.esri.arcgis.geodatabase.IWorkspaceEvents2 interface.
IOException
- If there are communications problems.public void removeIWorkspaceEvents2Listener(IWorkspaceEvents2 theListener) throws IOException
theListener
- An object that implements the com.esri.arcgis.geodatabase.IWorkspaceEvents2 interface.
IOException
- If there are communications problems.public IPropertySet getConnectionProperties() throws IOException, AutomationException
The ConnectionProperties property of a workspace returns the set of named connection properties for this workspace.
getConnectionProperties
in interface IWorkspace
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IWorkspaceFactory getWorkspaceFactory() throws IOException, AutomationException
The WorkspaceFactory property can be used to get a reference back to the workspace factory for this workspace.
getWorkspaceFactory
in interface IWorkspace
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumDataset getDatasets(int datasetType) throws IOException, AutomationException
getDatasets
in interface IWorkspace
datasetType
- A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumDatasetName getDatasetNames(int datasetType) throws IOException, AutomationException
getDatasetNames
in interface IWorkspace
datasetType
- A com.esri.arcgis.geodatabase.esriDatasetType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getPathName() throws IOException, AutomationException
getPathName
in interface IWorkspace
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getType() throws IOException, AutomationException
getType
in interface IDataset
getType
in interface IWorkspace
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isDirectory() throws IOException, AutomationException
isDirectory
in interface IWorkspace
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean exists() throws IOException, AutomationException
This method can be used with workspaces from file-based data sources to detect if they've been deleted by another application. For example, a shapefile workspace is a directory and can be deleted while the workspace is open.
exists
in interface IWorkspace
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void executeSQL(String sqlStmt) throws IOException, AutomationException
The ExecuteSQL method can be used to send an arbitrary SQL statement to the underlying database for execution. The statement can be any DDL (data definition language) or DML (data manipulation language) statement but can not return any result sets. The syntax for the SQL is as required by the underlying database. The workspace supports an optional ISQLSyntax interface that provides information to applications on aspects of the SQL Syntax for the underlying database.
To determine if a workspace supports the ExecutesSQL method, an application can check the value of the canExecuteSQLworkspace property via the optional IWorkspaceProperties interface. In general, this method is only supported on local and remote database workspaces.
executeSQL
in interface IWorkspace
sqlStmt
- The sqlStmt (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isNameExists(int type, String name) throws IOException, AutomationException
isNameExists
in interface IWorkspace2
type
- A com.esri.arcgis.geodatabase.esriDatasetType constant (in)name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getName() throws IOException, AutomationException
getName
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IName getFullName() throws IOException, AutomationException
getFullName
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getBrowseName() throws IOException, AutomationException
getBrowseName
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setBrowseName(String name) throws IOException, AutomationException
setBrowseName
in interface IDataset
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getCategory() throws IOException, AutomationException
IDataset::Category returns a description of the category of the dataset. The description returned from the Category property is the same value that is displayed in the Type column within the Contents tab in ArcCatalog. The value will contain a description of the dataset such as "Topology" prefixed with a description of the type of workspace containing the dataset such as "File Geodatabase".
The description returned from IDataset::Category may change between releases of ArcGIS. In addition to this, returned strings are localized, meaning that code relying on a specific string being provided may fail when deployed with a different version of ArcGIS than it was developed with, or when deployed to a client using a different language than it was developed with.
getCategory
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumDataset getSubsets() throws IOException, AutomationException
The Subsets property returns other Dataset objects contained in this dataset.
IDataset::Subsets is not supported for Graph objects such as a Geometric Network. To return the feature classes contained in a Geometric Network, use the IFeatureClassContainer interface.
getSubsets
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IWorkspace getWorkspace() throws IOException, AutomationException
The Workspace property returns the containing workspace for this dataset.
getWorkspace
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPropertySet getPropertySet() throws IOException, AutomationException
The PropertySet property is used to return any additional intrinsic properties (but not metadata properties) that may apply to the dataset. One use of this property is to distinguish between the types of File Geodatabase datafile formats. If called on a Feature Class or Table in a File Geodatabase the Datafile Format property can either be esriFGDBStandardDatafile or esriFGDBCompressedDatafile.
Most datasets do not implement this property and will either raise an error or return a null value if it's called. There are a handful of exceptions that will return property sets; these include the datasets from file geodatabases (as mentioned above) and coverages.
Examples of intrinsic properties for which explicit methods exist include the SpatialReference and the Extent methods available on the IGeoDataset interface. In most cases this PropertySet will be empty.
IDataset::PropertySet is not supported for Graph objects such as a Geometric Network.
getPropertySet
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canCopy() throws IOException, AutomationException
The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.
The CanCopy method is supported by:
canCopy
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDataset copy(String copyName, IWorkspace copyWorkspace) throws IOException, AutomationException
IDataset::Copy should only be used with datasets from file-based data sources, such as shapefiles and coverages.
copy
in interface IDataset
copyName
- The copyName (in)copyWorkspace
- A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canDelete() throws IOException, AutomationException
The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.
canDelete
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void delete() throws IOException, AutomationException
Certain feature classes, such as network and topology feature classes, cannot be deleted until their containing objects are deleted.
delete
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canRename() throws IOException, AutomationException
The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods. For example, you may not delete or rename a network feature class nor can you use the Copy method on a Geodatabase feature class. To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.
canRename
in interface IDataset
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void rename(String name) throws IOException, AutomationException
IDataset::Rename does not support the renaming of Graph objects such as a Geometric Network. In addition, certain feature classes, such as network feature classes, cannot be renamed.
rename
in interface IDataset
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void addDataset(IDataset datasetToAdd) throws IOException, AutomationException
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.
addDataset
in interface IDatasetContainer
datasetToAdd
- A reference to a com.esri.arcgis.geodatabase.IDataset (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void startEditing(boolean withUndoRedo) throws IOException, AutomationException
An edit session may be started using the StartEditing method. The withUndoRedo parameter can be used to suppress undo/redo logging if the workspace supports such suppression. Note that the supression of undo/redo logging is not supported for remote database workspaces. StartEditing cannot be called when a edit session is already active. StopEditing must be called first before a new edit session can be started.
Note: With non-versioned editing always be sure to check the current edit state via IsBeingEdited before called StartEditing or StopEditing. If the workspace is being edited outside your context, there is no need to call StartEditing.
startEditing
in interface IWorkspaceEdit
withUndoRedo
- The withUndoRedo (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void stopEditing(boolean saveEdits) throws IOException, AutomationException
The StopEditing method is used to end an edit session. The saveEdits parameter controls if edits are saved or discarded. An ArcSDE geodatabase can support multiple concurrent edit sessions on the same version of the database. In such a scenario, StopEditing will return an error code of FDO_E_VERSION_REDEFINED if it detects that the database state associated with the version being edited is no longer the same as it was at the beginning of the edit session (indicating that the version was modified by some other edit session). In this case the application is responsible for calling the IVersionEdit::Reconcile method to reconcile the edit session against the current state of the version being edited. StopEditing may be called again after reconciliation.
Note: With non-versioned editing always be sure to check the current edit state via IsBeingEdited before called StartEditing or StopEditing. If the workspace is being edited outside your context, there will be issues if you call StopEditing. This will cause any other editors of the workspace to become decoupled with the potential loss of their edits.
This method explicitly commit of any active transactions in the database.
stopEditing
in interface IWorkspaceEdit
saveEdits
- The saveEdits (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isBeingEdited() throws IOException, AutomationException
isBeingEdited
in interface IWorkspaceEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void startEditOperation() throws IOException, AutomationException
All related changes to objects in the database within an edit session should be grouped into edit operations. An edit operation is begun using the StartEditOperation method. An edit operation may be thought of as a short transaction nested within the long transaction corresponding to the edit session.
All edits to features that participate in a Topology or Geometric Network must be bracketed within an edit operation.
When using StartEditOperation, proper handling of errors, including the use of AbortEditOperation, is neccessary.
startEditOperation
in interface IWorkspaceEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void stopEditOperation() throws IOException, AutomationException
Applications are responsible for calling StopEditOperation to mark the end of a successfully completed edit operation. Completed edit operations can be thought of as being pushed onto an undo stack.
All edits to features that participate in a Topology or Geometric Network must be bracketed within an edit operation.
When using StopEditOperation, proper handling of errors, including the use of AbortEditOperation, is necessary.
This method explicitly commit of any active transactions in the database.
stopEditOperation
in interface IWorkspaceEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void abortEditOperation() throws IOException, AutomationException
Applications are responsible for calling the AbortEditOperation method to abort an edit operation if errors are detected within the methods executed for an edit operation.
abortEditOperation
in interface IWorkspaceEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void hasUndos(boolean[] pHasUndos) throws IOException, AutomationException
hasUndos
in interface IWorkspaceEdit
pHasUndos
- The pHasUndos (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void undoEditOperation() throws IOException, AutomationException
The UndoEditOperation can be used to roll the state of the edit session back to what it was prior to the execution of the edit operation at the top of the undo stack. Undoing an edit operation pops the edit operation from the Undo stack and adds it to a Redo stack.
undoEditOperation
in interface IWorkspaceEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void hasRedos(boolean[] pHasRedos) throws IOException, AutomationException
hasRedos
in interface IWorkspaceEdit
pHasRedos
- The pHasRedos (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void redoEditOperation() throws IOException, AutomationException
The RedoEditOperation method rolls the state of the edit session forward to what it was after the execution of the edit operation at the top of the redo stack, pops the redone edit operation from the redo stack and pushes it back onto the undo stack. Performing a new edit operation clears the redo stack.
redoEditOperation
in interface IWorkspaceEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void enableUndoRedo() throws IOException, AutomationException
enableUndoRedo
in interface IWorkspaceEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void disableUndoRedo() throws IOException, AutomationException
disableUndoRedo
in interface IWorkspaceEdit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void hasEdits(boolean[] pHasEdits) throws IOException, AutomationException
hasEdits
in interface IWorkspaceEdit
pHasEdits
- The pHasEdits (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setStoreEventsRequired() throws IOException, AutomationException
This method instructs the geodatabase to fire events when features are created/modified/deleted through a cursor that otherwise wouldn't fire the events.
You must be editing features within a edit session for events to be fired.
setStoreEventsRequired
in interface IWorkspaceEditControl
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITable openTable(String name) throws IOException, AutomationException
openTable
in interface IFeatureWorkspace
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITable createTable(String name, IFields fields, IUID cLSID, IUID eXTCLSID, String configKeyword) throws IOException, AutomationException
The CreateTable method can be used to create a new table or object class in the workspace.
The optional CLSID and EXTCLSID parameters allow the calling application to specify the GUIDs for the objects that implement the instance and the class extension behavior for an object class. If no CLSID is passed in, then the resulting table is not registered in the geodatabase object class data dictionary (It will support the IObjectClass interface but will have an ObjectClassID of –1). Valid values for CLSID are esriGeoDatabase.Object or any non-spatial object that extends esriGeoDatabase.Object. CLSID must be set in order to apply a class extension with the EXTCLSID parameter.
The Fields object passed to the Fields parameter should not be an object retrieved from another class. If the new class is going to have the same fields as an existing class, cast the existing class' fields collection to the IClone interface, clone it, and use the cloned fields collection as input for this method.
The optional configurationKeyword parameter allows the application to control the physical layout for this table in the underlying RDBMS. For example, in an Oracle database, the configuration keyword controls the tablespace in which the table is created, the initial and next extents, and other properties. The configuration keywords for an ArcSDE instance are set up by the ArcSDE data administrator, the list of available keywords supported by a workspace may be obtained using the IWorkspaceConfiguration interface.
Note: Table or feature class names with the following prefixes are not supported:
createTable
in interface IFeatureWorkspace
name
- The name (in)fields
- A reference to a com.esri.arcgis.geodatabase.IFields (in)cLSID
- A reference to a com.esri.arcgis.system.IUID (in)eXTCLSID
- A reference to a com.esri.arcgis.system.IUID (in)configKeyword
- The configKeyword (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureClass openFeatureClass(String name) throws IOException, AutomationException
The OpenFeatureClass method can be used to open any existing feature class in the workspace given its fully qualified name. Note that every feature class in a geodatabase has a unique fully qualified name, and the OpenFeatureClass method can be used to directly open feature classes that are part of a feature dataset (the feature dataset name does not need to be specified).
Use the IDatabaseConnectionInfo interface to determine the User and Database (if applicable). ISQLSyntax::QualifyTableName can be used to determine the fully qualified name for a feature class. Use the NameExists method on the IWorkspace2 interface to determine if a feature class with the appropriate name exists in a geodatabase.
Opening a feature class that participates in a topology or geometric network will also open all other feature classes participating in the topology or geometric network in memory.
openFeatureClass
in interface IFeatureWorkspace
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureClass createFeatureClass(String name, IFields fields, IUID cLSID, IUID eXTCLSID, int featureType, String shapeFieldName, String configKeyword) throws IOException, AutomationException
The CreateFeatureClass method can be used to create a stand-alone feature class that is not part of a feature dataset. It takes, in addition to all the parameters that CreateTable takes, an esriFeatureType parameter that specifies the category of features to be stored in this feature class (i.e., esriFTSimple, esriFTComplexEdgeFeature) and a shape field name. The shape field name identifies the name of the field in the input fields collection that represents the shape field for the feature class.
The Fields object passed to the Fields parameter should not be an object retrieved from another class. If the new class is going to have the same fields as an existing class, cast the existing class' fields collection to the IClone interface, clone it, and use the cloned fields collection as input for this method.
The GeometryDef object associated with the shape field object must be fully setup with a spatial reference, grid properties, and the geometry type before calling CreateFeatureClass.
The following esriGeometryType enumeration values represent the valid geometry types for a new feature class' GeometryDef object: esriGeometryPoint, esriGeometryMultipoint, esriGeometryPolyline, esriGeometryPolygon, and esriGeometryMultiPatch.
If the feature class is being created in geodatabase then the fields collection must contain, at a minimum, an Object ID field and a Shape field. The required fields can be obtained from the class description for the type of object you wish to create (see the RequiredFields property on IObjectClassDescription).
The CLSID parameter is used to specify what type of feature will be contained by the class. If a null value is passed in for the CLSID, the geodatabase will return Feature instances from the class. In most cases, this is the desired behavior. If the feature class is used to store custom features, the GUID of the custom feature should be provided. Alternatively, the IClassSchemaEdit interface can be used to change the feature class' CLSID following creation.
The EXTCLSID parameter is used to specify what class will be instantiated as the feature class extension. This object must at least support the IClassExtension interface. If a null value is passed in for the EXTCLSID parameter, the feature class will not have a class extension associated with it. Since class extensions are not required, this is often the desired behavior. If the feature class should have an associated extension, the GUID of the class extension should be provided. Alternatively, the IClassSchemaEdit interface can be used to associate a class extension following creation.
The configurationKeywordparameter allows the application to control the physical layout for this table in the underlying RDBMS. For example, in the case of an Oracle database, the configuration keyword controls the tablespace in which the table is created, the initial and next extents, and other properties. The configuration keywords for an ArcSDE instance are set up by the ArcSDE data administrator, and the list of available keywords supported by a workspace may be obtained using the IWorkspaceConfigurationinterface.
If the workspace the feature class will be created in is a pre-9.2 geodatabase, you must ensure the GeometryDef references a low precision spatial reference. 9.1 and earlier versions of the geodatabase only support low precision spatial references, while 9.2 geodatabases require high precision spatial references. Use IControlPrecision2::IsHighPrecision to manage the precision level of the spatial reference used to create the feature class. Use the IGeodatabaseRelease interface to determine the release of the geodatabase.
Developers should be aware that calling this method on a shapefile workspace when a shapefile of the same name already exists will cause the existing shapefile to be deleted. To prevent this, check for the existence of a shapefile prior to calling this method.
Note:Table or feature class names with the following prefixes are not supported:
createFeatureClass
in interface IFeatureWorkspace
name
- The name (in)fields
- A reference to a com.esri.arcgis.geodatabase.IFields (in)cLSID
- A reference to a com.esri.arcgis.system.IUID (in)eXTCLSID
- A reference to a com.esri.arcgis.system.IUID (in)featureType
- A com.esri.arcgis.geodatabase.esriFeatureType constant (in)shapeFieldName
- The shapeFieldName (in)configKeyword
- The configKeyword (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureDataset openFeatureDataset(String name) throws IOException, AutomationException
The OpenFeatureDataset method can be used to open any existing feature dataset in the workspace given its fully qualified name.
Use the IDatabaseConnectionInfo interface to determine the User and Database (if applicable). ISQLSyntax::QualifyTableName can be used to determine the fully qualified name for a feature dataset.
openFeatureDataset
in interface IFeatureWorkspace
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureDataset createFeatureDataset(String name, ISpatialReference spatialReference) throws IOException, AutomationException
The CreateFeatureDataset method can be used to create a new FeatureDataset given its name and spatial reference. Methods supported by the returned feature dataset allow creation of feature classes in the feature dataset.
If the workspace the FeatureDataset will be created in is a pre-9.2 Geodatabase, you must ensure the spatial reference is a low precision spatial reference. 9.1 and earlier versions of the Geodatabase only support low precision spatial references, while 9.2 Geodatabases require high precision spatial references. Use IControlPrecision2::IsHighPrecision to manage the precision level of the spatial reference used to create the FeatureDataset. Use the IGeodatabaseRelease interface to determine the release of the geodatabase
createFeatureDataset
in interface IFeatureWorkspace
name
- The name (in)spatialReference
- A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IQueryDef createQueryDef() throws IOException, AutomationException
The CreateQueryDef method can be used to create a new query definition object that can be evaluated by returning a cursor.
createQueryDef
in interface IFeatureWorkspace
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureDataset openFeatureQuery(String queryName, IQueryDef queryDef) throws IOException, AutomationException
The OpenFeatureQuery can be used to open a virtual feature class whose definition is based on a QueryDef created using the CreateQueryDef method. The QueryDef can involve multiple tables as long as one of them is a feature class; the resulting virtual feature class can be used to construct a feature layer that can be added to a map. The shape column is required as part of the SubFields parameter of the QueryDef.
openFeatureQuery
in interface IFeatureWorkspace
queryName
- The queryName (in)queryDef
- A reference to a com.esri.arcgis.geodatabase.IQueryDef (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRelationshipClass openRelationshipClass(String name) throws IOException, AutomationException
The OpenRelationshipClass method can be used to open any existing relationship class in the workspace given its fully qualified name.
Use the IDatabaseConnectionInfo interface to determine the User and Database (if applicable). ISQLSyntax::QualifyTableName can be used to determine the fully qualified name for a relationship class.
openRelationshipClass
in interface IFeatureWorkspace
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRelationshipClass createRelationshipClass(String relClassName, IObjectClass originClass, IObjectClass destinationClass, String forwardLabel, String backwardLabel, int cardinality, int notification, boolean isComposite, boolean isAttributed, IFields relAttrFields, String originPrimaryKey, String destPrimaryKey, String originForeignKey, String destForeignKey) throws IOException, AutomationException
The CreateRelationshipClass method can be used to create a new stand-alone relationship class that is not part of a feature dataset. The relationship class is implemented as a separate data table whose name is the name of the relationship class if the cardinality is many-to-many or if the relationship class is attributed. The relAttribFields parameter is optional, and a null value may be passed in for non-attributed relationship classes.
Many-to-many or attributed relationship classes require specification of all four key fields—the OriginPrimaryKey and the destPrimaryKey parameters are the primary key fields for the origin and destination object classes. The OriginForeignKey and destForeignKey parameters are the names of the corresponding foreign keys that will be created in the data table representing the relationship class. If the relationship class is one-to-one or one-to-many and not attributed, then the relationship class is implemented as a foreign key field in the destination object class (the OriginForeignKey) that references the primary key field in the origin object class (the OriginPrimaryKey). In this case, the OriginPrimaryKey, the OriginForeignKey, and the destPrimaryKey must be supplied.
The Fields object passed to the relAttrFields parameter should not be an object retrieved from another class. If the new class is going to have the same fields as an existing class, cast the existing class' fields collection to the IClone interface, clone it, and use the cloned fields collection as input for this method.
createRelationshipClass
in interface IFeatureWorkspace
relClassName
- The relClassName (in)originClass
- A reference to a com.esri.arcgis.geodatabase.IObjectClass (in)destinationClass
- A reference to a com.esri.arcgis.geodatabase.IObjectClass (in)forwardLabel
- The forwardLabel (in)backwardLabel
- The backwardLabel (in)cardinality
- A com.esri.arcgis.geodatabase.esriRelCardinality constant (in)notification
- A com.esri.arcgis.geodatabase.esriRelNotification constant (in)isComposite
- The isComposite (in)isAttributed
- The isAttributed (in)relAttrFields
- A reference to a com.esri.arcgis.geodatabase.IFields (in)originPrimaryKey
- The originPrimaryKey (in)destPrimaryKey
- The destPrimaryKey (in)originForeignKey
- The originForeignKey (in)destForeignKey
- The destForeignKey (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITable openRelationshipQuery(IRelationshipClass relClass, boolean joinForward, IQueryFilter srcQueryFilter, ISelectionSet srcSelectionSet, String targetColumns, boolean doNotPushJoinToDB) throws IOException, AutomationException
openRelationshipQuery
in interface IFeatureWorkspace
relClass
- A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)joinForward
- The joinForward (in)srcQueryFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)srcSelectionSet
- A reference to a com.esri.arcgis.geodatabase.ISelectionSet (in)targetColumns
- The targetColumns (in)doNotPushJoinToDB
- The doNotPushJoinToDB (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteByName(IDatasetName aName) throws IOException, AutomationException
The DeleteByName method can be used to delete a dataset given its name object. It can be useful when cleaning up partially loaded datasets that cannot be instantiated because of incomplete information. It is made use of by ArcCatalog’s delete command. Note that IDataset::Delete is directly available as a method on instantiated datasets.
The DeleteByName method will fail when called on feature classes that participate in geometric networks or topologies. In these cases, the containing dataset, a Geometric Network or Topology, must be deleted first in order to demote the feature classes from non-simple to simple.
deleteByName
in interface IFeatureWorkspaceManage
aName
- A reference to a com.esri.arcgis.geodatabase.IDatasetName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isRegisteredAsVersioned(IName aName) throws IOException, AutomationException
IsRegisteredAsVersioned indicates if a particular object in the workspace is versioned. This property applies only to objects stored in an ArcSDE workspace. You can register and unregister objects as versioned using the RegisterAsVersioned method on IVersionedObject.
isRegisteredAsVersioned
in interface IFeatureWorkspaceManage
aName
- A reference to a com.esri.arcgis.system.IName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isRegisteredAsObjectClass(String name) throws IOException, AutomationException
IsRegisteredAsObjectClass indicates if an object in the database is referenced in the Geodatabase system tables. A table created using SQL, or an SDE layer created using the ArcSDE administration commands, or other ArcSDE client software are examples of objects that are not registered with the Geodatabase. These tables will have an ObjectClassID of -1.
You can use the RegisterAsObjectClass method on IClassSchemaEdit to register an object with the Geodatabase.
isRegisteredAsObjectClass
in interface IFeatureWorkspaceManage
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canDelete(IName aName) throws IOException, AutomationException
canDelete
in interface IFeatureWorkspaceManage
aName
- A reference to a com.esri.arcgis.system.IName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canRename(IName aName) throws IOException, AutomationException
canRename
in interface IFeatureWorkspaceManage
aName
- A reference to a com.esri.arcgis.system.IName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void analyzeTable(String tableName, int tableComponents) throws IOException, AutomationException
The AnalyzeTable and AnalyzeIndex methods can be used to acquire DBMS statistics on tables and table indexes. Having up-to-date statistics on a table is key to efficient query performance on the table and a key requirement for efficient queries against versioned tables. Note that datasets that are based on tables support the IDatasetAnalyze method; to analyze all of the tables in a feature dataset, use the IDatasetAnalyze::Analyze method on the feature dataset.
The TableComponents arguement takes values from the enumeration esriTableComponents. These values include esriAddsTable, esriBusinessTable, esriDeletesTable, esriFeatureTable, and esriRasterTable. The values can also be combined together. For example, to analyze the business, adds, and deletes table, you would specify (esriBusinessTable + esriAddsTable + esriDeletesTable)
analyzeTable
in interface IFeatureWorkspaceManage
tableName
- The tableName (in)tableComponents
- The tableComponents (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void analyzeIndex(String tableName, String index) throws IOException, AutomationException
The AnalyzeTable and AnalyzeIndex methods can be used to acquire DBMS statistics on tables and table indexes. Having up-to-date statistics on a table is key to efficient query performance on the table and a key requirement for efficient queries against versioned tables. Note that datasets that are based on tables support the IDatasetAnalyze method; to analyze all of the tables in a feature dataset, use the IDatasetAnalyze::Analyze method on the feature dataset.
analyzeIndex
in interface IFeatureWorkspaceManage
tableName
- The tableName (in)index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IField validateField(IField inField) throws IOException, AutomationException
The ValidateField method takes a Field definition as input, and based on its field type, scale and precision, returns a field definition that represents more closely how that field is actually stored in the database.
For example, a field whose type is esriFieldTypeSingle and its precision and scale are 0, then it will actually be stored in the database as a double.
validateField
in interface IFeatureWorkspaceManage
inField
- A reference to a com.esri.arcgis.geodatabase.IField (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void alterInstanceCLSID(String name, IUID instanceCLSID) throws IOException, AutomationException
alterInstanceCLSID
in interface IFeatureWorkspaceSchemaEdit
name
- The name (in)instanceCLSID
- A reference to a com.esri.arcgis.system.IUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void alterClassExtensionCLSID(String name, IUID classExtensionCLSID, IPropertySet classExtensionProperties) throws IOException, AutomationException
alterClassExtensionCLSID
in interface IFeatureWorkspaceSchemaEdit
name
- The name (in)classExtensionCLSID
- A reference to a com.esri.arcgis.system.IUID (in)classExtensionProperties
- A reference to a com.esri.arcgis.system.IPropertySet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanUpgrade() throws IOException, AutomationException
Returns True for personal and File geodatabases, and False for ArcSDE geodatabases.
isCanUpgrade
in interface IGeodatabaseRelease
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCurrentRelease() throws IOException, AutomationException
isCurrentRelease
in interface IGeodatabaseRelease
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getMajorVersion() throws IOException, AutomationException
getMajorVersion
in interface IGeodatabaseRelease
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getMinorVersion() throws IOException, AutomationException
getMinorVersion
in interface IGeodatabaseRelease
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getBugfixVersion() throws IOException, AutomationException
getBugfixVersion
in interface IGeodatabaseRelease
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void upgrade() throws IOException, AutomationException
This method will upgrade the geodatabase system table release version to the current version of the ArcGIS software you are running. It will also augment the geodatabase system tables as required to complete the upgrade. An exclusive lock on the geodatabase is required to perform the upgrade.
Upgrading a pre-ArcGIS 9.2 (low precision) geodatabase will not convert existing datasets within the geodatabase to high precision. In order to convert datasets from Low to High precision, use the IGeoDatasetSchemaEdit2::AlterResolution method.
Once the geodatabase has been upgraded, it is not usable in older versions of the software. Use the IGeodatabaseRelease2::DatasetSupported property to determine if the creation and use of particular datasets are supported within a geodatabase.
upgrade
in interface IGeodatabaseRelease
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isInTransaction() throws IOException, AutomationException
ITransactions does not support nested transactions. The InTransaction property should be used to test if the workspace is already within a transaction.
isInTransaction
in interface ITransactions
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void startTransaction() throws IOException, AutomationException
Applications are responsible for starting a new transaction (using the StartTransaction method) on the workspace only if the workspace is not already within a transaction. If the workspace is within an transaction this call will amount to a no operation without error. It should be noted that if CommitTransaction is then called it will be acting on the origin transaction and all changes within that original transaction wil be commited.
startTransaction
in interface ITransactions
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void commitTransaction() throws IOException, AutomationException
An application is responsible for stopping only those transactions (using CommitTransaction or AbortTransaction) that were started by the application.
commitTransaction
in interface ITransactions
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void abortTransaction() throws IOException, AutomationException
An application is responsible for stopping only those transactions (using CommitTransaction or AbortTransaction) that were started by the application.
abortTransaction
in interface ITransactions
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAutoCommitInterval(int interval) throws IOException, AutomationException
Setting the AutoCommitInterval to 0 turns auto-commit off, and ensures that the transaction will not commit until the application calls CommitTransaction. The AutoCommitInterval is explicitly set to 0 when an edit session is started. The original value will be reset when the edit session is stopped.
By default the AutoCommitInterval is set to 1000 and it should be noted that user defined transactions will be commited after this threshold is breached.
setAutoCommitInterval
in interface ITransactionsOptions
interval
- The interval (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getAutoCommitInterval() throws IOException, AutomationException
Setting the AutoCommitInterval to 0 turns auto-commit off, and ensures that the transaction will not commit until the application calls CommitTransaction. The AutoCommitInterval is explicitly set to 0 when an edit session is started. The original value will be reset when the edit session is stopped.
By default the AutoCommitInterval is set to 1000 and it should be noted that user defined transactions will be commited after this threshold is breached.
getAutoCommitInterval
in interface ITransactionsOptions
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int addDomain(IDomain domain) throws IOException, AutomationException
The AddDomain method is used when adding a new domain to a workspace. An error will be returned if the domain name already exists on an existing domain within the workspace. AddDomain will return the identifier of the domain once it is added to the workspace.
An error will be raised if the domain name contains an invalid character when calling AddDomain. The list of invalid characters can be determined by using the ISQLSyntax::GetInvalidCharacters method, minus the slash (both / and \), hyphen (-), comma (,), and space characters.
If you are looking to assoicate an existing domain to a field (or subtype) see IClassSchemaEdit::AlterDomain (or ISubtypes::SetDomain).
addDomain
in interface IWorkspaceDomains
domain
- A reference to a com.esri.arcgis.geodatabase.IDomain (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanDeleteDomain(String domainName) throws IOException, AutomationException
isCanDeleteDomain
in interface IWorkspaceDomains
domainName
- The domainName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteDomain(String domainName) throws IOException, AutomationException
This method will delete a domain from the workspace. For DeleteDomain to execute successfully, you must be connected to the workspace as the user who created the domain you are deleting, and the domain must not be in use by any object classes in the database. Use the CanDeleteDomain property to determine if a domain can be deleted. To unassociate a domain with a field, use the IClassSchemaEdit::AlterDomain method.
deleteDomain
in interface IWorkspaceDomains
domainName
- The domainName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumDomain getDomains() throws IOException, AutomationException
The Domains property returns an IEnumDomains enumerator for all of the domains from the underlying workspace.
This property return an enumeration of all of the domains on a workspace as an IEnumDomain. You can loop through this enumeration to get each domain.
getDomains
in interface IWorkspaceDomains
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IDomain getDomainByName(String domainName) throws IOException, AutomationException
getDomainByName
in interface IWorkspaceDomains
domainName
- The domainName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumDomain getDomainsByFieldType(int type) throws IOException, AutomationException
getDomainsByFieldType
in interface IWorkspaceDomains
type
- A com.esri.arcgis.geodatabase.esriFieldType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void alterDomain(IDomain domain) throws IOException, AutomationException
The AlterDomain method allows the user to either take an existing domain and modify it, and then call AlterDomain passing it as an argument. Alternatively, the user may create a new instance of a domain with the same name, owner, and field type as an existing domain. The existing domain would be replaced with the new domain. The identifier of the new domain will be modified to match that of the existing domain that is being altered.
The main use of AlterDomain is for modifying the range or coded values associated with the domain. Please note that the renaming of a Domain is not permitted.
alterDomain
in interface IWorkspaceDomains2
domain
- A reference to a com.esri.arcgis.geodatabase.IDomain (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void fillCache(IEnvelope pExtent) throws IOException, AutomationException
The CacheIsFull property returns true if the cache is full (the cache is active). The FillCache method is used to make the cache active and to set the boundary of the cache. Calling this method causes the workspace to fetch objects from the database and fill the cache. Only features in open feature classes within the cache extent are fetched. Opening a feature class that participates in a topology or geometric network will also open all other feature classes participating in the topology or geometric network.
The time to fill the cache and the amount of memory consumed with the cache depends on the extent of the cache and the density and size of features in the feature classes being cached.
It should be noted that all attributes of a feature within the envelope will be cached when the call is made to FillCache. Also, only those features that are in currently open feature classes will be cached. Therefore if you only want to perform spatial searches against a specific feature class it would make sense to only have that feature class open when the cache is filled. The more feature classes open when FillCache is called the more expensive the fill cache operation is.
fillCache
in interface ISpatialCacheManager
pExtent
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void emptyCache() throws IOException, AutomationException
The EmptyCache method empties the cache and makes it inactive.
emptyCache
in interface ISpatialCacheManager
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCacheIsFull() throws IOException, AutomationException
The CacheIsFull property returns true if the cache is full (the cache is active). The FillCache method is used to make the cache active and to set the boundary of the cache. Calling FillCache causes the workspace to fetch objects from the database and fill the cache. The time to fill the cache and the amount of memory consumed with the cache depends on the extent of the cache and the density and size of features in the feature classes being cached.
isCacheIsFull
in interface ISpatialCacheManager
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnvelope getCacheExtent() throws IOException, AutomationException
The CacheExtent property returns the envelope that represents the current boundary of the cached area. An empty envelope is returned if the cache is empty (the cache is not active).
getCacheExtent
in interface ISpatialCacheManager
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void fillCacheEx(IEnvelope pExtent, double expansionFactor) throws IOException, AutomationException
FillCacheEx takes an envelope and a parameter used to expand the envelope. The expand factor must be greater than 1 ; 1.1 would expand it by 10%, while 2 would double the size.
fillCacheEx
in interface ISpatialCacheManager2
pExtent
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)expansionFactor
- The expansionFactor (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getCacheExpansionFactor() throws IOException, AutomationException
The CacheExpansionFilter returns the expansion factor specified after a call to FillCacheEx.
getCacheExpansionFactor
in interface ISpatialCacheManager2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFeatureClass createAnnotationClass(String name, IFields fields, IUID cLSID, IUID eXTCLSID, String shapeFieldName, String configKeyword, IFeatureDataset dstFeatureDataset, IFeatureClass srcFeatureClass, Object annoProperties, Object referenceScale, Object symbolCollection, boolean autoCreate) throws IOException, AutomationException
The CreateAnnotationClass method creates a new annotation feature class that may or may not be feature linked via a relationship class to features in a source feature class (the feature class being annotated).
The CLSID property must be set to esriCarto.AnnotationFeature and the EXTCLSID property must be set to esriCarto.AnnotationFeatureClassExtension. The srcFeatureClass parameter specifies the source feature class and may be set to 0 or Nothing for non-feature linked annotation.
The AnnoProperties parameter specifies the labeling properties to be used for the annotation, and must support the IAnnotateLayerPropertiesCollection interface. The ReferenceScale parameter specifies the reference scale to be used for the annotation. The SymbolCollection parameter specifies the symbols that will be referenced by the annotation elements for the annotation features in this feature class and must support the ISymbolCollection interface.
The autoCreate parameter applies to feature-linked annotation; setting it to True results in a new annotation feature being automatically created when a new feature in the source feature class is created.
createAnnotationClass
in interface IFeatureWorkspaceAnno
name
- The name (in)fields
- A reference to a com.esri.arcgis.geodatabase.IFields (in)cLSID
- A reference to a com.esri.arcgis.system.IUID (in)eXTCLSID
- A reference to a com.esri.arcgis.system.IUID (in)shapeFieldName
- The shapeFieldName (in)configKeyword
- The configKeyword (in)dstFeatureDataset
- A reference to a com.esri.arcgis.geodatabase.IFeatureDataset (in)srcFeatureClass
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)annoProperties
- A reference to another Object (IUnknown) (in)referenceScale
- A reference to another Object (IUnknown) (in)symbolCollection
- A reference to another Object (IUnknown) (in)autoCreate
- The autoCreate (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void addSymbolCollection(String name, Object symbolCollection) throws IOException, AutomationException
The AddSymbolCollection and ReplaceSymbolCollection may be used to augment and replace the symbol collection associated with an annotation feature class. Use extreme caution when using these methods--be aware that there may be existing annotation features in the annotation feature class that have annotation elements that may reference symbols by ID. Deleting the symbol for such an ID or replacing it with a different symbol may leave the geometry of the annotation feature out of phase with its symbol, resulting in subsequent problems during drawing and selection. These methods are for use by specialized data loaders that can guarantee the integrity of referenced symbols.
addSymbolCollection
in interface IFeatureWorkspaceAnno
name
- The name (in)symbolCollection
- A reference to another Object (IUnknown) (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void replaceSymbolCollection(String name, Object symbolCollection) throws IOException, AutomationException
The AddSymbolCollection and ReplaceSymbolCollection may be used to augment and replace the symbol collection associated with an annotation feature class. Use extreme caution when using these methods--be aware that there may be existing annotation features in the annotation feature class that have annotation elements that may reference symbols by ID. Deleting the symbol for such an ID or replacing it with a different symbol may leave the geometry of the annotation feature out of phase with its symbol, resulting in subsequent problems during drawing and selection. These methods are for use by specialized data loaders that can guarantee the integrity of referenced symbols.
replaceSymbolCollection
in interface IFeatureWorkspaceAnno
name
- The name (in)symbolCollection
- A reference to another Object (IUnknown) (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void compact() throws IOException, AutomationException
compact
in interface IDatabaseCompact
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canCompact() throws IOException, AutomationException
canCompact
in interface IDatabaseCompact
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String qualifyTableName(String dbName, String ownerName, String tableName) throws IOException, AutomationException
Applications should use the QualifyTableName and QualifyColumnName methods to construct fully qualified dataset and column names.
qualifyTableName
in interface ISQLSyntax
dbName
- The dbName (in)ownerName
- The ownerName (in)tableName
- The tableName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String qualifyColumnName(String tableName, String columnName) throws IOException, AutomationException
Applications should use the QualifyTableName and QualifyColumnName methods to construct fully qualified dataset and column names.
qualifyColumnName
in interface ISQLSyntax
tableName
- The tableName (in)columnName
- The columnName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void parseTableName(String fullName, String[] dbName, String[] ownerName, String[] tableName) throws IOException, AutomationException
Applications should use the ParseTableName method to split the fully qualified name of a table into its components (database, owner, table). ParseTableName can also be used to return the components of any fully qualified name of a dataset such as feature classes, feature datasets, geometric networks and topologies.
Applications that wish to be RDBMS independent should not assume that ‘.’ is the delimiter used to separate the components of a fully qualified dataset name. Use the QualifyTableName method to determine the qualified name of a dataset for a given workspace.
The FullName parameter refers to the fully qualified name of the dataset and is returned by the IDataset::Name property for a dataset in a geodatabase and the IDatasetName::Name property for a dataset name object. Both methods return the fully qualified name for the dataset.
Empty strings will be returned for arguments that do not apply to the underlying DBMS. For example, supplying a FullName parameter of "MyTable" to a Personal or File Geodatabase will result in:
dbName = ""
ownerName = ""
TableName = "MyTable"
While supplying a FullName parameter of "gdb.MyTable" to an ArcSDE Geodatabase on Oracle will result in:
dbName = ""
ownerName = "gdb"
TableName = "MyTable"
parseTableName
in interface ISQLSyntax
fullName
- The fullName (in)dbName
- The dbName (out: use single element array)ownerName
- The ownerName (out: use single element array)tableName
- The tableName (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void parseColumnName(String fullName, String[] dbName, String[] ownerName, String[] tableName, String[] columnName) throws IOException, AutomationException
Applications should use the ParseColumnName method to split the fully qualified name for a column in a table into its components (database, owner, table, column).
Applications that wish to be RDBMS independent should not assume that ‘.’ is the delimiter used to separate the components of a fully qualified dataset name. Use the QualifyColumnName method to determine the qualified name of a column of a table for a given workspace.
The FullName paramter can be returned from the IDataset::Name property for a dataset in a Geodatabase and the IDatasetName::Name property for a dataset name object. Both methods return the fully qualified name for the dataset (the name object for the dataset is itself obtained using the IDataset::FullName property).
Empty strings will be returned for arguments that do not apply to the underlying DBMS. For example, supplying a FullName parameter of "gdb.Greeley_Parcels_1.AREA" to an ArcSDE Geodatabase on Oracle will result in:
dbName = ""
ownerName = "gdb"
TableName = "Greeley_Parcels_1"
columnName = "AREA"
parseColumnName
in interface ISQLSyntax
fullName
- The fullName (in)dbName
- The dbName (out: use single element array)ownerName
- The ownerName (out: use single element array)tableName
- The tableName (out: use single element array)columnName
- The columnName (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getFunctionName(int sqlFunc) throws IOException, AutomationException
getFunctionName
in interface ISQLSyntax
sqlFunc
- A com.esri.arcgis.geodatabase.esriSQLFunctionName constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getSpecialCharacter(int sqlSC) throws IOException, AutomationException
The GetSpecialCharacter can be used to return the DBMS dependent character that represents an SQL special character, including the following:
• esriSQL_WildcardManyMatch ( % in SQL_92, * in Jet 4.0)
• esriSQL_WildcardSingleMatch ( _ in SQL_92, ? in Jet 4.0)
• esriSQL_DelimitedIdentifierPrefix ( " in SQL_92, [ in Jet 4.0)
• esriSQL_DelimitedIdentifierSuffix (" in SQL_92, ] in Jet 4.0)
getSpecialCharacter
in interface ISQLSyntax
sqlSC
- A com.esri.arcgis.geodatabase.esriSQLSpecialCharacters constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getSupportedPredicates() throws IOException, AutomationException
GetSupportedPredicates returns a Long value that indicates which of the esriSQLPredicates are supported.
A value of -1 indicates that all predicates are supported by the workspace, while a value of 0 indicates that no predicates are supported by the workspace. Bitwise AND operations can be used with the esriSQLPredicates enumeration's values to determine support for individual predicates.
getSupportedPredicates
in interface ISQLSyntax
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getSupportedClauses() throws IOException, AutomationException
GetSupportedClauses returns a Long value that indicates which of the esriSQLClauses are supported.
A value of -1 indicates that all clauses are supported by the workspace, while a value of 0 indicates that no clauses are supported by the workspace. Bitwise AND operations can be used with the esriSQLClauses enumeration's values to determine support for individual clauses.
getSupportedClauses
in interface ISQLSyntax
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean getIdentifierCase() throws IOException, AutomationException
getIdentifierCase
in interface ISQLSyntax
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean getDelimitedIdentifierCase() throws IOException, AutomationException
getDelimitedIdentifierCase
in interface ISQLSyntax
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean getStringComparisonCase() throws IOException, AutomationException
getStringComparisonCase
in interface ISQLSyntax
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumBSTR getKeywords() throws IOException, AutomationException
getKeywords
in interface ISQLSyntax
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getInvalidCharacters() throws IOException, AutomationException
getInvalidCharacters
in interface ISQLSyntax
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getInvalidStartingCharacters() throws IOException, AutomationException
getInvalidStartingCharacters
in interface ISQLSyntax
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumConfigurationKeyword getConfigurationKeywords() throws IOException, AutomationException
Returns an enumeration of all the of the configuration keywords for an ArcSDE or File geodatabase workspace.
getConfigurationKeywords
in interface IWorkspaceConfiguration
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumSpatialReferenceInfo getSpatialReferenceInfo() throws IOException, AutomationException
getSpatialReferenceInfo
in interface IWorkspaceSpatialReferenceInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IWorkspaceExtension findExtension(IUID pGUID) throws IOException, AutomationException
findExtension
in interface IWorkspaceExtensionManager
pGUID
- A reference to a com.esri.arcgis.system.IUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getExtensionCount() throws IOException, AutomationException
getExtensionCount
in interface IWorkspaceExtensionManager
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IWorkspaceExtension getExtension(int index) throws IOException, AutomationException
getExtension
in interface IWorkspaceExtensionManager
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void registerExtension(String name, IUID pGUID) throws IOException, AutomationException
registerExtension
in interface IWorkspaceExtensionManager
name
- The name (in)pGUID
- A reference to a com.esri.arcgis.system.IUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void unRegisterExtension(IUID pGUID) throws IOException, AutomationException
unRegisterExtension
in interface IWorkspaceExtensionManager
pGUID
- A reference to a com.esri.arcgis.system.IUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getConnectedDatabase() throws IOException, AutomationException
If the underlying DBMS does not support multiple databases or is a Personal or File Geodatabase, the ConnectedDatabase property will return an empty string.
getConnectedDatabase
in interface IDatabaseConnectionInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getConnectedUser() throws IOException, AutomationException
If used with a Personal or File Geodatabase, the ConnectedUser property will return an empty string.
getConnectedUser
in interface IDatabaseConnectionInfo
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRasterDataset createRasterDataset(String name, int numBands, int pixelType, IRasterStorageDef storageDef, String configKeyword, IRasterDef rasterDef, IGeometryDef geometryDef) throws IOException, AutomationException
The CreateRasterDataset method creates a new empty raster dataset in the geodatabase, whereby it is basically a placeholder for some attributes of a raster dataset, such as the number of bands, pixel type, RASTER column properties, and GEOMETRY column properties. Once you have created an empty raster dataset in the geodatabase, you can append raster data to it by mosaicking. If the GeometryDef argument is not specified, a default GeometryDef will be created using the according values (for example, spatial reference) set in the RasterDef argument. Since the geometry column is not accessed or updated, there is no need to set the GeometryDef when creating a raster dataset.
If cellsize in the RasterStorageDef is not specified or set to NULL, the new raster dataset will have an undefined cellsize, the cellsize will be set to the cellsize of the first raster that is mosaicked to it.
If spatial reference in the RasterDef is not specified or set to NULL, the new raster dataset will have an unknown spatial reference, the spatial reference will be set to the spatial reference of the first raster that is mosaicked to it.
createRasterDataset
in interface IRasterWorkspaceEx
name
- The name (in)numBands
- The numBands (in)pixelType
- A com.esri.arcgis.geodatabase.rstPixelType constant (in)storageDef
- A reference to a com.esri.arcgis.geodatabase.IRasterStorageDef (in)configKeyword
- The configKeyword (in)rasterDef
- A reference to a com.esri.arcgis.geodatabase.IRasterDef (in)geometryDef
- A reference to a com.esri.arcgis.geodatabase.IGeometryDef (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRasterDataset saveAsRasterDataset(String name, IRaster raster, IRasterStorageDef storageDef, String configKeyword, IRasterDef rasterDef, IGeometryDef geometryDef) throws IOException, AutomationException
The SaveAsRasterDataset method provides a way to save any raster as a raster dataset in the geodatabase. It is similar to the CreateRasterDataset method, but instead of creating an empty raster dataset, it copies the input raster properties and pixels to the output raster dataset in the geodatabase. If you want to keep the spatial reference of the input raster dataset for both raster column and geometry column, you can pass nothing to the RasterDef argument and GeometryDef argument.
saveAsRasterDataset
in interface IRasterWorkspaceEx
name
- The name (in)raster
- A reference to a com.esri.arcgis.geodatabase.IRaster (in)storageDef
- A reference to a com.esri.arcgis.geodatabase.IRasterStorageDef (in)configKeyword
- The configKeyword (in)rasterDef
- A reference to a com.esri.arcgis.geodatabase.IRasterDef (in)geometryDef
- A reference to a com.esri.arcgis.geodatabase.IGeometryDef (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRasterDataset openRasterDataset(String name) throws IOException, AutomationException
The OpenRasterDataset method opens a raster dataset in the geodatabase. It provides access to the RasterDataset geodatabase workspace.
openRasterDataset
in interface IRasterWorkspaceEx
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteRasterDataset(String name) throws IOException, AutomationException
deleteRasterDataset
in interface IRasterWorkspaceEx
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void registerAsRasterDataset(String name, IGeometryDef geometryDef) throws IOException, AutomationException
registerAsRasterDataset
in interface IRasterWorkspaceEx
name
- The name (in)geometryDef
- A reference to a com.esri.arcgis.geodatabase.IGeometryDef (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRasterCatalog createRasterCatalog(String name, IFields fields, String shapeFieldName, String rasterFieldName, String configKeyword) throws IOException, AutomationException
The CreateRasterCatalog method creates a new empty raster catalog in a Personal, File or ArcSDE geodatabase. At releases prior to 9.2, When you create a raster catalog, you need to set the x/y domain on the GeometryDef properly to cover the extents of all the rasters you will be loading to the raster catalog. If the extent of a raster dataset is beyond the specified x/y domain of the GeometryDef, it will not be loaded. Since 9.2, the x/y domain is optimized according to the spatial reference of the geometry column, so you do not need to set it manually.
createRasterCatalog
in interface IRasterWorkspaceEx
name
- The name (in)fields
- A reference to a com.esri.arcgis.geodatabase.IFields (in)shapeFieldName
- The shapeFieldName (in)rasterFieldName
- The rasterFieldName (in)configKeyword
- The configKeyword (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRasterCatalog openRasterCatalog(String name) throws IOException, AutomationException
openRasterCatalog
in interface IRasterWorkspaceEx
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deleteRasterCatalog(String name) throws IOException, AutomationException
deleteRasterCatalog
in interface IRasterWorkspaceEx
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void registerAsRasterCatalog(String name, String oIDFieldName, IGeometryDef geometryDef) throws IOException, AutomationException
The RegisterAsRasterCatalog method provides a way to upgrade an 8.x embedded raster catalog to a 9.x raster catalog, because an 8.x raster catalog doesn’t have an OID or a GEOMETRY type column in its business table while a 9.x raster catalog does. This method will add these two columns to the raster catalog table and populate the Geometry column with the extent of each raster dataset in the raster catalog. This method works only with ArcSDE geodatabase.
registerAsRasterCatalog
in interface IRasterWorkspaceEx
name
- The name (in)oIDFieldName
- The oIDFieldName (in)geometryDef
- A reference to a com.esri.arcgis.geodatabase.IGeometryDef (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumReplica getReplicas() throws IOException, AutomationException
When using this method to get check-out information from a personal or File geodatabase, the enumeration will return no more than one Replica object. This is because personal and File geodatabases can only host one check-out. Many replicas may be returned with ArcSDE geodatabases since ArcSDE can host a check-out plus have references to many other check-outs.
If no replicas are returned, the geodatabase is not involved in an active check-out.
getReplicas
in interface IWorkspaceReplicas
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IReplica getReplicaByName(String replicaName) throws IOException, AutomationException
getReplicaByName
in interface IWorkspaceReplicas
replicaName
- The replicaName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IReplica getReplicaByID(int replicaID) throws IOException, AutomationException
getReplicaByID
in interface IWorkspaceReplicas
replicaID
- The replicaID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IReplica getReplicaByGuid(String replicaGuid) throws IOException, AutomationException
getReplicaByGuid
in interface IWorkspaceReplicas
replicaGuid
- The replicaGuid (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void refreshReplicas() throws IOException, AutomationException
Use this method to make your connection aware of check-outs being performed concurrently by other connections to the same database.
refreshReplicas
in interface IWorkspaceReplicas
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void alterReplica(IReplica replica) throws IOException, AutomationException
Care should be taken when altering the replica metadata. It is possible to modify the metadata with this method in a way that will cause the synchronization to fail.
In order to alter a property of a replica, you must use the Replica::IReplicaEdit interface.
alterReplica
in interface IWorkspaceReplicasAdmin
replica
- A reference to a com.esri.arcgis.geodatabase.IReplica (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int registerReplica(IReplica replica) throws IOException, AutomationException
The RegisterReplica method creates new metadata for a replica. This method does not create the check-out version or the SYNC version in ArcSDE geodatabases.
To register a new replica, you must first call the IReplicaEdit::Init to initialize a new replica from an existing one. This ensures that the new replica will have an appropriate ReplicaID and ReplicaGUID.
registerReplica
in interface IWorkspaceReplicasAdmin
replica
- A reference to a com.esri.arcgis.geodatabase.IReplica (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void unregisterReplica(IReplica replica, boolean removeCOVersion) throws IOException, AutomationException
This method removes the replicas metadata from the geodatabase. If removeCOVersion is true, the checkout version and the SYNC version are also removed.
unregisterReplica
in interface IWorkspaceReplicasAdmin
replica
- A reference to a com.esri.arcgis.geodatabase.IReplica (in)removeCOVersion
- The removeCOVersion (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canRegisterReplicaDataset(IReplicaDataset replicaDataset, IReplica replica) throws IOException, AutomationException
canRegisterReplicaDataset
in interface IWorkspaceReplicasAdmin2
replicaDataset
- A reference to a com.esri.arcgis.geodatabase.IReplicaDataset (in)replica
- A reference to a com.esri.arcgis.geodatabase.IReplica (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void registerReplicaDataset(IReplicaDataset rDataset, int filter, boolean useGeometry, String queryDef, IFIDSet pSelID, IReplica pToReplica) throws IOException, AutomationException
Feature classes and tables can be registered using this method. Other datasets may or may not be supported - use the CanRegisterReplicaDataset method to determine whether they can be registered.
registerReplicaDataset
in interface IWorkspaceReplicasAdmin2
rDataset
- A reference to a com.esri.arcgis.geodatabase.IReplicaDataset (in)filter
- A com.esri.arcgis.geodatabase.esriRowsType constant (in)useGeometry
- The useGeometry (in)queryDef
- The queryDef (in)pSelID
- A reference to a com.esri.arcgis.geodatabase.IFIDSet (in)pToReplica
- A reference to a com.esri.arcgis.geodatabase.IReplica (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean canUnregisterReplicaDataset(IReplicaDataset replicaDataset) throws IOException, AutomationException
canUnregisterReplicaDataset
in interface IWorkspaceReplicasAdmin2
replicaDataset
- A reference to a com.esri.arcgis.geodatabase.IReplicaDataset (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void unregisterReplicaDataset(IReplicaDataset replicaDataset, IReplica replica) throws IOException, AutomationException
unregisterReplicaDataset
in interface IWorkspaceReplicasAdmin2
replicaDataset
- A reference to a com.esri.arcgis.geodatabase.IReplicaDataset (in)replica
- A reference to a com.esri.arcgis.geodatabase.IReplica (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void alterReplica2(IReplica replica, boolean persistParentUserInfo) throws IOException, AutomationException
alterReplica2
in interface IWorkspaceReplicasAdmin2
replica
- A reference to a com.esri.arcgis.geodatabase.IReplica (in)persistParentUserInfo
- The persistParentUserInfo (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isReferencedByReplica(int datasetType, int datasetID) throws IOException, AutomationException
isReferencedByReplica
in interface IWorkspaceReplicasAdmin2
datasetType
- A com.esri.arcgis.geodatabase.esriDatasetType constant (in)datasetID
- The datasetID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ILongArray getReplicasByDataset(int datasetType, int datasetID) throws IOException, AutomationException
getReplicasByDataset
in interface IWorkspaceReplicasAdmin3
datasetType
- A com.esri.arcgis.geodatabase.esriDatasetType constant (in)datasetID
- The datasetID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumReplicaDataset getReplicaDatasetsByName(String replicaName) throws IOException, AutomationException
getReplicaDatasetsByName
in interface IWorkspaceReplicaDatasets
replicaName
- The replicaName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnumReplicaDataset getReplicaDatasetsByID(int replicaID) throws IOException, AutomationException
getReplicaDatasetsByID
in interface IWorkspaceReplicaDatasets
replicaID
- The replicaID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITopology openTopology(String name) throws IOException, AutomationException
The OpenTopology method can be used to open any existing topology in the workspace given its fully qualified name. Note that every topology in a geodatabase has a unique fully qualified name. Use the IDatabaseConnectionInfo interface to determine the User and Database (if applicable). ISQLSyntax::QualifyTableName can be used to determine the fully qualified name for a topology. Use the IWorkspace2::NameExists method to determine if a topology with the appropriate name exists in the geodatabase.
openTopology
in interface ITopologyWorkspace
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |