com.esri.arcgis.geodatabase
Interface IValidation

All Superinterfaces:
Serializable
All Known Subinterfaces:
IValidation2
All Known Implementing Classes:
FeatureClass, IValidation2Proxy, IValidationProxy, ObjectClass, ObjectClassValidator, SchematicDiagramClass, SchematicElementClass, TemporalRecordSet

public interface IValidation
extends Serializable

Provides access to members that manage rules and validate them.

Superseded By

IValidation2

Description

IValidation interface is a member of the ObjectClass coclass. It is used to maintain rules, and also to validate the workspace or object class based on the rules associated with it. Rules can be added, deleted, and validated through this interface. Also rule objects associated with the object class can be obtained from this interface.

When To Use

IValidation is the interface on a ObjectClass object used to add/delete rules, as well as validate those rules against the current object class. For example, use the IValidation interface to add a connectivity/attribute rule to this particular object class. You can then create a query filter based on this object class and use the validate function to see if there are any features that are considered invalid based on these rules.

Product Availability

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


Method Summary
 void addRule(IRule rule)
          Adds the rule to the set of associated rules.
 void deleteRule(IRule rule)
          Deletes the rule from the set of associated rules.
 IEnumRule getRules()
          The rules associated with the class.
 IEnumRule getRulesByField(String fieldName)
          The rules associated with the attribute.
 IEnumRule getRulesBySubtypeCode(int subtypeCode)
          The rules associated with the subtype.
 ISelectionSet validate(IQueryFilter selection, IWorkspace workspace)
          Validates the selection.
 ISelectionSet validateSelection(ISelectionSet selection, IWorkspace workspace)
          Validates the selection.
 ISet validateSet(ISet selection)
          Validates the set.
 

Method Detail

getRules

IEnumRule getRules()
                   throws IOException,
                          AutomationException
The rules associated with the class.

Description

Rules is a property that returns a IEnumRule object that contains all of the rules associated with the object class.

Remarks

Property Rules returns a IEnumRule enumerator hydrated with all of the rules associated with the object class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRulesByField

IEnumRule getRulesByField(String fieldName)
                          throws IOException,
                                 AutomationException
The rules associated with the attribute.

Product Availability

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

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

getRulesBySubtypeCode

IEnumRule getRulesBySubtypeCode(int subtypeCode)
                                throws IOException,
                                       AutomationException
The rules associated with the subtype.

Product Availability

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

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

addRule

void addRule(IRule rule)
             throws IOException,
                    AutomationException
Adds the rule to the set of associated rules.

Description

This method is deprecated. Use a rule-specific method to add rules (i.e. IClassSchemaEdit.AlterDomain for attribute rules, IGeometricNetwork.AddRule for connectivity rules, IRelationshipClass.AddRelationshipRule for relationship rules).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deleteRule

void deleteRule(IRule rule)
                throws IOException,
                       AutomationException
Deletes the rule from the set of associated rules.

Description

This method is deprecated. Use a rule-specific method to delete rules (i.e. IClassSchemaEdit.AlterDomain for attribute rules, IGeometricNetwork.DeleteRule for connectivity rules, IRelationshipClass.DeleteRelationshipRule for relationship rules).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

validate

ISelectionSet validate(IQueryFilter selection,
                       IWorkspace workspace)
                       throws IOException,
                              AutomationException
Validates the selection.

Description

This method creates a selection set that contains the underlying class' invalid objects.
A query filter can be provided to validate a portion of the class' objects, but passing a null value will evaluate all of the class' objects.
The Workspace parameter indicates where the selection set is to be created. In most cases, a null value can be used, indicating that the class' workspace be used. If necessary, a scratch workspace may also be used.

Remarks

Validate on a row occurs in five steps:

  1. Validate the subtype

  2. Validate the attribute rules

  3. Validate the network connectivity rules (if network feature)

  4. Validate the relationship rules

  5. Perform custom validation (using optional class extension)

The validate process stops once a row is found invalid. For example, if a network feature violates an attribute rule, the validation process stops and the feature's network connectivity rules are not evaluated until the attribute rule violation is corrected.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
selection - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
workspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ISelectionSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

validateSelection

ISelectionSet validateSelection(ISelectionSet selection,
                                IWorkspace workspace)
                                throws IOException,
                                       AutomationException
Validates the selection.

Description

This method creates a selection set that contains the underlying class' invalid objects.
A selection set must be passed to the first parameter, indicating that a subset of the class' objects should be evaluated. Unlike the query filter parameter of the Validate method, this parameter requires a valid selection set, and passing a null value will cause the method to fail.
The Workspace parameter indicates where the selection set is to be created. In most cases, a null value can be used, indicating that the class' workspace be used. If necessary, a scratch workspace may also be used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

validateSet

ISet validateSet(ISet selection)
                 throws IOException,
                        AutomationException
Validates the set.

Description

ValidateSet function takes the ISet parameter and validates that set based on the rules associated with the object class. It returns a ISet object containing all of the invalid features that it found in that set.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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