com.esri.arcgis.geodatabaseextensions
Class CadastralFabric

java.lang.Object
  extended by com.esri.arcgis.geodatabaseextensions.CadastralFabric
All Implemented Interfaces:
IConnectionPointContainer, IDataset, IDatasetComponent, IDatasetEdit, IGeoDataset, IMetadata, IMetadataEdit, ISchemaLock, IVersionedObject, IVersionedObject2, ICadastralFabric, ICadastralFabricLocks, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class CadastralFabric
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IConnectionPointContainer, IDataset, IGeoDataset, ICadastralFabric, ICadastralFabricLocks, IDatasetComponent, IDatasetEdit, ISchemaLock, IVersionedObject2, IMetadata, IMetadataEdit

A container for querying information about a cadastral fabric.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
CadastralFabric(Object obj)
          Construct a CadastralFabric using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void acquireLocks(ILongArray pLocks, boolean takeSoftLocks, ILongArray[] ppLocksInConflict, ILongArray[] ppSoftLocksInConflict)
          Acquire locks on the LockingJob.
 boolean canCopy()
          True if this dataset can be copied.
 boolean canDelete()
          True if this dataset can be deleted.
 boolean canRename()
          True if this dataset can be renamed.
 void changeSchemaLock(int schemaLock)
          Changes a schema lock.
 void commitJob(String jobName)
          Commits the specified job to the cadastral fabric.
 IDataset copy(String copyName, IWorkspace copyWorkspace)
          Copies this dataset to a new dataset with the specified name.
 int createJob(ICadastralJob job)
          Creates a new cadastral job with the properties of the given CadastralJob object.
 void delete()
          Deletes this dataset.
 void deleteJob(String name)
          Deletes the existing job.
 void enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
          enumConnectionPoints
 boolean equals(Object o)
          Compare this object with another
 IXMLStream extractCadastralPacket(String jobName, IProjectedCoordinateSystem outputProjectedCoordSys, ITrackCancel trackCancel)
          Creates/Extracts a cadastral packet for the specified job.
 void findConnectionPoint(GUID riid, IConnectionPoint[] ppCP)
          findConnectionPoint
 String getBrowseName()
          The browse name of the dataset.
 IEnumBSTR getCadastralJobs(int cadastralJobType)
          The cadastral jobs that have not been committed.
 ITable getCadastralTable(int tableID)
          The cadastral fabric class at the specified enumeration.
 String getCategory()
          The category of the dataset.
 void getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo)
          The list of current locks.
 IDEDataset getDataElement()
          The data element corresponding to the dataset component.
 IEnvelope getExtent()
          The extent of the GeoDataset.
 IName getFullName()
          The associated name object.
 ICadastralJob getJob(String name)
          Retrieves a cadastral job given its name.
 IPropertySet getMetadata()
          The PropertySet containing metadata.
 String getName()
          The name of the Dataset.
 IDataset getParent()
          The containing parent dataset.
 IPropertySet getPropertySet()
          The set of properties for the dataset.
 ISpatialReference getSpatialReference()
          The spatial reference of the GeoDataset.
 IEnumDataset getSubsets()
          Datasets contained within this dataset.
 int getType()
          The type of the Dataset.
 IVersion getVersion()
          The object's current version.
 IWorkspace getWorkspace()
          The workspace containing this dataset.
 int hashCode()
          the hashcode for this object
 boolean isBeingEdited()
          True if the dataset is being edited.
 boolean isCanEditMetadata()
          Indicates if metadata can be edited.
 boolean isHasUncompressedEdits()
          Indicates if the object has edits that haven't been compressed yet.
 boolean isRegisteredAsVersioned()
          Indicates if the object is registered as versioned.
 boolean lockJob()
          Lock current job.
 void postCadastralPacket(IXMLStream xMLStream, ITrackCancel cancelTracker)
          Saves the cadastral packet for the job.
 void registerAsVersioned(boolean isVersioned)
          Register/UnRegister the object as being versioned.
 void releaseJobLock(boolean forceRelease)
          Release current job's lock.
 void rename(String name)
          Renames this Dataset.
 void setBrowseName(String name)
          The browse name of the dataset.
 void setLockingJob(String rhs1)
          The name of the Job to apply locks on.
 void setMetadata(IPropertySet ppPropertySet)
          The PropertySet containing metadata.
 void synchronize(int action, int interval)
          Updates metadata with the current properties; may create metadata if it doesn't already exist.
 void undoLastAcquiredLocks()
          Rolls back most recent set of acquired locks, until last edit operation.
 void updateJob(ICadastralJob job)
          Updates the existing job.
 void validateJobLock(boolean[] locked, String[] lockingMachine, int[] lockingPID)
          Correct orphan job locks for current machine, and return current lock information.
 
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

CadastralFabric

public CadastralFabric(Object obj)
                throws IOException
Construct a CadastralFabric using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to CadastralFabric.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
CadastralFabric o = (CadastralFabric)obj; // will not work

CadastralFabric o = new CadastralFabric(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems CadastralFabric theCadastralFabric = (CadastralFabric) obj;
Method Detail

equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

enumConnectionPoints

public void enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
                          throws IOException,
                                 AutomationException
enumConnectionPoints

Description

IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
enumConnectionPoints in interface IConnectionPointContainer
Parameters:
ppEnum - A reference to a com.esri.arcgis.display.IEnumConnectionPoints (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findConnectionPoint

public void findConnectionPoint(GUID riid,
                                IConnectionPoint[] ppCP)
                         throws IOException,
                                AutomationException
findConnectionPoint

Description

IConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
findConnectionPoint in interface IConnectionPointContainer
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
ppCP - A reference to a com.esri.arcgis.display.IConnectionPoint (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public String getName()
               throws IOException,
                      AutomationException
The name of the Dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getFullName

public IName getFullName()
                  throws IOException,
                         AutomationException
The associated name object.

Remarks

The FullName property returns a Name object for the dataset. The Name object can be persisted and provides a way to get back to the dataset in a future session of the application, via the Open method on the Name object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getBrowseName

public String getBrowseName()
                     throws IOException,
                            AutomationException
The browse name of the dataset.

Remarks

BrowseName returns file names without their extension. For example, States.shp would appear as States.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getBrowseName in interface IDataset
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBrowseName

public void setBrowseName(String name)
                   throws IOException,
                          AutomationException
The browse name of the dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getType

public int getType()
            throws IOException,
                   AutomationException
The type of the Dataset.

Remarks

The Type property returns the an esriDatasetType value indicating the dataset type, such as esriDTTable or esriDTFeatureClass.

Example:


// Assume we have a reference to an IfeatureClass (pFeatureClass) IDataset pDataset = null;
pDataset = new IDatasetProxy(pFeatureClass);
System.out.println(pDataset.getName() + " " + pDataset.getType());
if(pFeatureClass != null){
pDataset = pFeatureClass.getFeatureDataset();
System.out.println(pDataset.getName() + " " + pDataset.getType());
}
pDataset = new IDatasetProxy(pDataset.getWorkspace());
System.out.println(pDataset.getName() + " " +
pDataset.getType());

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getType in interface IDataset
Returns:
A com.esri.arcgis.geodatabase.esriDatasetType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCategory

public String getCategory()
                   throws IOException,
                          AutomationException
The category of the dataset.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCategory in interface IDataset
Returns:
The category
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubsets

public IEnumDataset getSubsets()
                        throws IOException,
                               AutomationException
Datasets contained within this dataset.

Description

The Subsets property returns other Dataset objects contained in this dataset.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getWorkspace

public IWorkspace getWorkspace()
                        throws IOException,
                               AutomationException
The workspace containing this dataset.

Description

The Workspace property returns the containing workspace for this dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getPropertySet

public IPropertySet getPropertySet()
                            throws IOException,
                                   AutomationException
The set of properties for the dataset.

Description

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.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

canCopy

public boolean canCopy()
                throws IOException,
                       AutomationException
True if this dataset can be copied.

Remarks

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:

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

copy

public IDataset copy(String copyName,
                     IWorkspace copyWorkspace)
              throws IOException,
                     AutomationException
Copies this dataset to a new dataset with the specified name.

Remarks

IDataset::Copy should only be used with datasets from file-based data sources, such as shapefiles and coverages.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
copy in interface IDataset
Parameters:
copyName - The copyName (in)
copyWorkspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canDelete

public boolean canDelete()
                  throws IOException,
                         AutomationException
True if this dataset can be deleted.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

delete

public void delete()
            throws IOException,
                   AutomationException
Deletes this dataset.

Remarks

Certain feature classes, such as network and topology feature classes, cannot be deleted until their containing objects are deleted.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

canRename

public boolean canRename()
                  throws IOException,
                         AutomationException
True if this dataset can be renamed.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

rename

public void rename(String name)
            throws IOException,
                   AutomationException
Renames this Dataset.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The spatial reference of the GeoDataset.

Remarks

This property is read only. For layers, when the first layer is added to ArcMap, its spatial reference is read by this property, and the map is set to this spatial reference.

Instances of the esriCarto.GroupLayer class will return null for this property, as a group layer can contain multiple datasets with different spatial references.

Modifications to a spatial reference returned by this property will not be persisted. To modify the spatial reference of a dataset, the IGeoDatasetSchemaEdit and IGeoDatasetSchemaEdit2 interfaces should be used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getExtent

public IEnvelope getExtent()
                    throws IOException,
                           AutomationException
The extent of the GeoDataset.

Remarks

The IGeoDataset::Extent property returns an envelope representing the maximum extent of data which has been stored in the dataset.

Consider the following scenario. A new feature class has features added to it. The IGeoDataset::Extent is then requested and an envelope is returned. The extents of the envelope returned are represented by the red box in the image below.

The red box represents the IGeoDataset extent

If a portion of the features were then deleted and the extent is again requested an envelope with the exact same extents as during the first request would be returned (see image below). This is because the deletion of features does not shrink the extent. However all additions of features outside the red box would increase the envelope returned to encompass the newly added features.

The red box represents the IGeoDataset extent after some of the features have been deleted

If you would like to update the IGeoDataset::Extent property to reflect the current features in your dataset please see IFeatureClassManage::UpdateExtent (also see IFeatureClassLoad). In the image below the extent has been updated and a new envelope is being returned.

The red box represents the IGeoDataset extent after it has been updated

ESRI's GroupLayer implements this property differently from most other layer coclasses. When you instantiate a new GroupLayer, this property will return a valid envelope with zero height and width. With most other newly instantiated layers (for example FeatureLayer, RasterLayer, TinLayer), this property initally returns Nothing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

createJob

public int createJob(ICadastralJob job)
              throws IOException,
                     AutomationException
Creates a new cadastral job with the properties of the given CadastralJob object.

Remarks

Creates a new Cadastral Job with the properties of the given CadastralJob object.

The CreateJob method can be used to create a new cadastral job with the properties of the given CadastralJob object such as the name, description, owner and participating parcels. The job name must be unique.

Product Availability

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

Specified by:
createJob in interface ICadastralFabric
Parameters:
job - A reference to a com.esri.arcgis.geodatabaseextensions.ICadastralJob (in)
Returns:
The jobID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getJob

public ICadastralJob getJob(String name)
                     throws IOException,
                            AutomationException
Retrieves a cadastral job given its name.

Remarks

Retrieve a Cadastral Job by its name.

The GetJob method can be used to retrieve any active cadastral job of the fabric given the name of the job.

Product Availability

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

Specified by:
getJob in interface ICadastralFabric
Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.geodatabaseextensions.ICadastralJob
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateJob

public void updateJob(ICadastralJob job)
               throws IOException,
                      AutomationException
Updates the existing job.

Remarks

Apply updates to an existing Cadastral Job.

The UpdateJob method can be used to apply updates to the properties of an existing cadastral job, such as the name, description, owner and participating parcels. Use the GetJob method to retrieve the cadastral job to be updated. Alter the properties of the CadastralJob object using the members of the interface ICadastralJob and then pass the object as the Job parameter of this method.

Product Availability

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

Specified by:
updateJob in interface ICadastralFabric
Parameters:
job - A reference to a com.esri.arcgis.geodatabaseextensions.ICadastralJob (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteJob

public void deleteJob(String name)
               throws IOException,
                      AutomationException
Deletes the existing job.

Remarks

Deletes a Cadastral Job from the Cadastral Fabric.

The DeleteJob method can be used to delete a cadastral job given the name of the job to be deleted. The DeleteJob method will delete its record in the cadastral jobs table and the associated references in the JobObjects table.

Product Availability

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

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

extractCadastralPacket

public IXMLStream extractCadastralPacket(String jobName,
                                         IProjectedCoordinateSystem outputProjectedCoordSys,
                                         ITrackCancel trackCancel)
                                  throws IOException,
                                         AutomationException
Creates/Extracts a cadastral packet for the specified job.

Remarks

Create/Extract a cadastral packet for the specified job. A cadastral packet is a set of data extracted from the Cadastral Fabric dataset that is used in-memory, and represents the editable Cadastral Job.

The ExtractCadastralPacket method creates a packet for the cadastral job that matches the JobName input. This packet is returned as an XMLStream. The XMLStream output can be passed to the cadastral editor via ICadastralExtension::ReadXMLPacket().

The XML stream contains all the parcels (and their associated fabric data) and control points that make up the job.

Product Availability

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

Specified by:
extractCadastralPacket in interface ICadastralFabric
Parameters:
jobName - The jobName (in)
outputProjectedCoordSys - A reference to a com.esri.arcgis.geometry.IProjectedCoordinateSystem (in)
trackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Returns:
A reference to a com.esri.arcgis.system.IXMLStream
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

postCadastralPacket

public void postCadastralPacket(IXMLStream xMLStream,
                                ITrackCancel cancelTracker)
                         throws IOException,
                                AutomationException
Saves the cadastral packet for the job.

Remarks

Saves the data in the cadastral packet back into the cadastral fabric dataset. A cadastral packet is a set of data extracted from the Cadastral Fabric dataset that is used in-memory, and represents the editable Cadastral Job.

Product Availability

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

Specified by:
postCadastralPacket in interface ICadastralFabric
Parameters:
xMLStream - A reference to a com.esri.arcgis.system.IXMLStream (in)
cancelTracker - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

commitJob

public void commitJob(String jobName)
               throws IOException,
                      AutomationException
Commits the specified job to the cadastral fabric.

Remarks

Commits the specified job to the cadastral fabric. The Commit method de-references the parcels represented in the JobObjects table.

The CommitJob method can be used to commit the specified job. Committing a job will clear any references to features in the job and change the status of the job to "committed". Once a job is committed, it is no longer available for edits.

A cadastral job cannot be commited if there are unjoined parcels in the job.

Product Availability

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

Specified by:
commitJob in interface ICadastralFabric
Parameters:
jobName - The jobName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCadastralJobs

public IEnumBSTR getCadastralJobs(int cadastralJobType)
                           throws IOException,
                                  AutomationException
The cadastral jobs that have not been committed.

Product Availability

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

Specified by:
getCadastralJobs in interface ICadastralFabric
Parameters:
cadastralJobType - A com.esri.arcgis.geodatabaseextensions.esriCadastralJob constant (in)
Returns:
A reference to a com.esri.arcgis.system.IEnumBSTR
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCadastralTable

public ITable getCadastralTable(int tableID)
                         throws IOException,
                                AutomationException
The cadastral fabric class at the specified enumeration.

Product Availability

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

Specified by:
getCadastralTable in interface ICadastralFabric
Parameters:
tableID - A com.esri.arcgis.geodatabaseextensions.esriCadastralFabricTable constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLockingJob

public void setLockingJob(String rhs1)
                   throws IOException,
                          AutomationException
The name of the Job to apply locks on.

Remarks

The Cadastral Job on which all methods will be applied.

When using this interface you need to first set this property, before using any of the other methods.

Product Availability

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

Specified by:
setLockingJob in interface ICadastralFabricLocks
Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

acquireLocks

public void acquireLocks(ILongArray pLocks,
                         boolean takeSoftLocks,
                         ILongArray[] ppLocksInConflict,
                         ILongArray[] ppSoftLocksInConflict)
                  throws IOException,
                         AutomationException
Acquire locks on the LockingJob. TakeSoftLocks allows locks to be transferred from other jobs in the same version.

Remarks

Add the given parcel ids as members of the current job.

The array of locks refer to the object ids of parcels in the parcel fabric class.

Soft locks refers to parcels that can be taken and used as an edit parcel in another job.

Soft locks are:

Set the parameter to True if you'd like to automatically get these locks for the current Job.

Product Availability

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

Specified by:
acquireLocks in interface ICadastralFabricLocks
Parameters:
pLocks - A reference to a com.esri.arcgis.system.ILongArray (in)
takeSoftLocks - The takeSoftLocks (in)
ppLocksInConflict - A reference to a com.esri.arcgis.system.ILongArray (out: use single element array)
ppSoftLocksInConflict - A reference to a com.esri.arcgis.system.ILongArray (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

undoLastAcquiredLocks

public void undoLastAcquiredLocks()
                           throws IOException,
                                  AutomationException
Rolls back most recent set of acquired locks, until last edit operation. Only effective once.

Remarks

Undo the last set of locks acquired. This action is applied up until the last edit operation.

Product Availability

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

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

lockJob

public boolean lockJob()
                throws IOException,
                       AutomationException
Lock current job. An existing lock will cause failure.

Remarks

Enters the MachineName and ProcessID values into the Jobs table.

This method is usually the next call after setting the LockingJob. If the method returns FALSE, then the lock is already held by another machine or process id.

Product Availability

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

Specified by:
lockJob in interface ICadastralFabricLocks
Returns:
The succeed
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

releaseJobLock

public void releaseJobLock(boolean forceRelease)
                    throws IOException,
                           AutomationException
Release current job's lock.

Remarks

Removes the MachineName and ProcessID values out of the Jobs table.

Product Availability

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

Specified by:
releaseJobLock in interface ICadastralFabricLocks
Parameters:
forceRelease - The forceRelease (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

validateJobLock

public void validateJobLock(boolean[] locked,
                            String[] lockingMachine,
                            int[] lockingPID)
                     throws IOException,
                            AutomationException
Correct orphan job locks for current machine, and return current lock information.

Remarks

Validates the MachineName and ProcessID values in the Jobs table.

Product Availability

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

Specified by:
validateJobLock in interface ICadastralFabricLocks
Parameters:
locked - The locked (out: use single element array)
lockingMachine - The lockingMachine (out: use single element array)
lockingPID - The lockingPID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDataElement

public IDEDataset getDataElement()
                          throws IOException,
                                 AutomationException
The data element corresponding to the dataset component.

Remarks

The DataElement method is used to access the data element for this dataset component.

Product Availability

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

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

getParent

public IDataset getParent()
                   throws IOException,
                          AutomationException
The containing parent dataset.

Remarks

Returns the parent of the network dataset. For Geodatabase network datasets, this is the feature dataset. For SDC and Shapefile network datasets, this is the workspace.

Product Availability

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

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

isBeingEdited

public boolean isBeingEdited()
                      throws IOException,
                             AutomationException
True if the dataset is being edited.

Remarks

An edit session is begun on a Workspace using IWorkspaceEdit::StartEditing method. Once an edit session has been started on a workspace, the IsBeingEdited method on the IDatasetEdit interface can be used to determine if a particular dataset is participating in the edit session.

The reasons why a dataset may not participate include; the connected user has no privileges or permission to edit the dataset, the connected user is not licensed to edit this type of dataset, or the dataset is not versioned.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isBeingEdited in interface IDatasetEdit
Returns:
The pIsBeingEdited
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

changeSchemaLock

public void changeSchemaLock(int schemaLock)
                      throws IOException,
                             AutomationException
Changes a schema lock.

Remarks

There are two kinds of schema locks: shared and exclusive. Shared schema locks are applied automatically by the geodatabase when accessing a dataset and are removed when all references to the dataset are removed. For this reason, it's not necessary to explicitly apply or remove shared schema locks. There is no limit to the number of shared schema locks a dataset or object can have at any given time.
In contrast to shared schema locks, exclusive schema locks are controlled by the developer or ArcGIS application, such as ArcMap or ArcCatalog. An exclusive lock is used to lock a geodatabase dataset or object from use by others to make the necessary changes to it. An exclusive lock is promoted from a shared lock and demoted back to a shared lock when no longer needed. The presence of additional shared schema locks on a dataset or object prevents an exclusive schema lock from being applied and precludes the ability to make changes to the underlying dataset and its schema while it is in use. Only one exclusive schema lock is allowed per dataset. As opposed to shared schema locks, exclusive schema locks are not applied or removed automatically; it is the responsibility of the developer to apply or remove exclusive schema locks.
Limit the scope of exclusive schema locks to the operation that requires the lock. Gather the necessary information to perform the action, obtain the exclusive lock, make the change, and release the lock. Some examples of operations for which an exclusive schema lock should be obtained include:
  • Modifications to attribute domains, such as adding or removing values from a coded value domain or changing the range for range domains
  • Adding or deleting a field from a feature class or object class
  • Associating a class extension with a feature class
  • Creating a topology, geometric network, network dataset, terrain, schematic dataset, representation, or cadastral fabric on a set of feature classes
  • Any use of the IClassSchemaEdit interface
  • Putting a feature class into and taking it out of load-only mode with the IFeatureClassLoad.LoadOnlyMode method
  • Managing (creating, deleting, or modifying) spatial and attribute indexes
Once the action requiring an exclusive schema lock is complete, the exclusive schema lock must be demoted to a shared lock. This includes when errors are raised during the schema modification, for example, consider the case where a field is being deleted from a feature class. To delete the field, an exclusive schema lock is obtained. However, on the call to DeleteField, an error is thrown; that is, the field being deleted is a required field, such as the ObjectID field. In the handling of the error, the exclusive schema lock must be demoted to a shared lock before proceeding.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
changeSchemaLock in interface ISchemaLock
Parameters:
schemaLock - A com.esri.arcgis.geodatabase.esriSchemaLock constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCurrentSchemaLocks

public void getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo)
                           throws IOException,
                                  AutomationException
The list of current locks.

Remarks

The ISchemaLockInfo interface is used in concert with ISchemaLock to provide information about a schema lock, for example, whether it is shared or exclusive and for ArcSDE geodatabases, the name of the user who has the lock. Note that there will always be at least one schema lock on the dataset. Also note that by checking the schema locks on a dataset a shared schema lock is applied to the data.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCurrentSchemaLocks in interface ISchemaLock
Parameters:
schemaLockInfo - A reference to a com.esri.arcgis.geodatabase.IEnumSchemaLockInfo (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasUncompressedEdits

public boolean isHasUncompressedEdits()
                               throws IOException,
                                      AutomationException
Indicates if the object has edits that haven't been compressed yet.

Remarks

The HasUncompressedEdits method returns a boolean value that represents if the dataset contains versioned edits that have not been compressed to the base state.

Knowing if the dataset contains any edits is important prior to unregistering the dataset as versioned.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isHasUncompressedEdits in interface IVersionedObject2
Returns:
The hasUncompressedEdits
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVersion

public IVersion getVersion()
                    throws IOException,
                           AutomationException
The object's current version.

Remarks

The Version method returns an IVersion object that is the current version the object references. This provides a mechanism to easily detect the version of the database that an object references.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isRegisteredAsVersioned

public boolean isRegisteredAsVersioned()
                                throws IOException,
                                       AutomationException
Indicates if the object is registered as versioned.

Remarks

Returns if the underlying dataset is registered as versioned. This only applies to datasets that exist in versioned workspaces.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isRegisteredAsVersioned in interface IVersionedObject
Returns:
The pIsRegistered
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

registerAsVersioned

public void registerAsVersioned(boolean isVersioned)
                         throws IOException,
                                AutomationException
Register/UnRegister the object as being versioned.

Remarks

The RegisterAsVersioned method registers or unregisters datasets. Feature classes that participate in feature datasets can be registered or unregistered, although it is highly recomended that the operation be performed on the entire feature dataset. The method requires a boolean argument, true to register or false to unregister the object.

Unregistering an object class as versioned permanently drops the object's delta tables. To preserve the edits, perform a compress prior to unregistering as versioned. See IVersionedWorkspace.Compress and IVersionedObject2 for additional information.

Only the owner can register or unregister the object.

By programmatically registering a class participating in a geometric network as versioned it does not guarantee the entire geometric network including other participating classes will also be registered. It is then recommended the registration take place at the feature dataset level rather than on the individual feature class. This workflow is exposed by default through the user interface in ArcCatalog. If there is a need to register individual classes as versioned within a feature dataset without registering the entire dataset it is crucial the every class participating in a geometric network, including the geometric network itself, is explicitly registered individually.

Archiving must first be disabaled on a class before it can be unregistered as versioned. This situation only applies to classes that have been registered as versioned with the MoveEditsToBase option set to false through the IVersionObject3.RegisterAsVersioned3 method.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
registerAsVersioned in interface IVersionedObject
Parameters:
isVersioned - The isVersioned (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMetadata

public IPropertySet getMetadata()
                         throws IOException,
                                AutomationException
The PropertySet containing metadata.

Remarks

The variable to hold the data must be of IPropertySet data type.

The metadata property is frequently used to save, or update, changes to metadata documents that have taken place through methods available on the IPropertySet, IXmlPropertySet, and/or IXmlPropertySet2 interfaces.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setMetadata

public void setMetadata(IPropertySet ppPropertySet)
                 throws IOException,
                        AutomationException
The PropertySet containing metadata.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

synchronize

public void synchronize(int action,
                        int interval)
                 throws IOException,
                        AutomationException
Updates metadata with the current properties; may create metadata if it doesn't already exist.

Description

The Synchronize method is used to extract metadata properties from an object and write those properties to the metadata .xml. Depending on the value of the esriMetaSyncAction, the Synchronize method may generate a new set of metadata if it doesn't already exist.

Remarks

The following actions will result in synchronization given each of the listed conditions:

Action Metadata status Esri/Sync element Interval parameter
esriMSAAccessed Doesn't matter Must not be FALSE Must be less than actual interval
esriMSAAlways Doesn't matter Doesn't matter Doesn't matter
esriMSACreated Must not exist Must not be FALSE Must be less than actual interval
esriMSANotCreated Must exist Must not be FALSE Must be less than actual interval
esriMSAOverwrite Doesn't matter Doesn't matter Doesn't matter

The difference between esriMSAAlways and esriMSAOverwrite lies in which elements are synchronized. esriMSAAlways will honor the removal or value change of an element's Sync attribute (to disable synchronization), whereas using esriMSAOverwrite is equivalent to setting the IXmlPropertySet2.OverwriteSyncAttribute to true for the metadata's property set, meaning that even elements without a Sync attribute of TRUE will be synchronized.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
synchronize in interface IMetadata
Parameters:
action - A com.esri.arcgis.geodatabase.esriMetadataSyncAction constant (in)
interval - The interval (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanEditMetadata

public boolean isCanEditMetadata()
                          throws IOException,
                                 AutomationException
Indicates if metadata can be edited.

Remarks

This property is available to those objects that support metadata.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCanEditMetadata in interface IMetadataEdit
Returns:
The pCanEdit
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.