|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ISelectionSet
Provides access to members that manage a set of selected table rows or features.
A SelectionSet is used to reference a set of rows or features. This can be used to retrieve, process and select rows or features.
A SelectionSet can be obtained from IFeatureClass::Select or ITable::Select.
If you want to obtain a selection set on a feature layer it is good practice to cast the layer to the ITable interface then use the ITable::Select method. The table that you will obtain this way will mirror the content of the layer even if it has a definition query or a join.
The IFeatureSelection interface contains a SelectionSet property which can be used to access or set the selection on a feature layer. If trying to set the selection with this property you must make sure that the content of the selection set is compatible with the features currently in the layer. It is usually simpler to use IFeatureSelection::SelectFeatures instead.
Selection sets are also used in a number of other interfaces dealing with the selection: ITableSort, IFeatureSelection, ITableSelection, ISelectFeaturesOperation, to name a few.
There are three types of selection sets: ID sets, snapshots, and hybrids. A selection set's type is determined at creation time (for example, by the selType parameter of the IFeatureClass.Select method).
Two of the methods defined by this interface should not be used in .NET or Java applications - AddList and RemoveList. See the IGeoDatabaseBridge2 interface for interop-safe alternatives.
Method Summary | |
---|---|
void |
add(int oID)
Adds an object id to the selection set. |
void |
addList(int count,
int[] oIDList)
Deprecated. This method uses C style arrays which are not supported in the ArcGIS API for Java. It is replaced by GeoDatabaseHelper.addList(com.esri.arcgis.geodatabase.ISelectionSet, int[]) . |
void |
combine(ISelectionSet otherSet,
int setOp,
ISelectionSet[] resultSet)
Combines this selection set with another selection set using the specified set operation. |
int |
getCount()
The number of oids in the selection set. |
IName |
getFullName()
The full name of the selection set. |
IEnumIDs |
getIDs()
Enumerates the object ids in the selection set. |
ITable |
getTarget()
The Table or FeatureClass over which the selection set is defined. |
void |
makePermanent()
Makes the SelectionSet permanent. |
void |
refresh()
Refreshes the state of a snapshot selection. |
void |
removeList(int count,
int[] oIDList)
Deprecated. This method uses C style arrays which are not supported in the ArcGIS API for Java. It is replaced by GeoDatabaseHelper.removeList(com.esri.arcgis.geodatabase.ISelectionSet, int[]) . |
void |
search(IQueryFilter queryFilter,
boolean recycling,
ICursor[] cursor)
Returns a cursor that can be used to retrieve the objects specified by a query over this selection set. |
ISelectionSet |
select(IQueryFilter queryFilter,
int selType,
int selOption,
IWorkspace selectionContainer)
Returns a new selection That contains the object ids selected by a query over this selection set. |
Method Detail |
---|
IName getFullName() throws IOException, AutomationException
The FullName property has not been implemented.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ITable getTarget() throws IOException, AutomationException
The Target property returns a reference to the Table or Feature Class from which the Selection Set was constructed.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void makePermanent() throws IOException, AutomationException
This method is not currently implemented.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getCount() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void add(int oID) throws IOException, AutomationException
oID
- The oID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void addList(int count, int[] oIDList) throws IOException, AutomationException
GeoDatabaseHelper.addList(com.esri.arcgis.geodatabase.ISelectionSet, int[])
.
This method should not be called by .NET or Java applications. Instead, call IGeoDatabaseBridge2.AddList.
count
- The count (in)oIDList
- The oIDList (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void combine(ISelectionSet otherSet, int setOp, ISelectionSet[] resultSet) throws IOException, AutomationException
Used to combine to SelectionSets. The resultSet parameter must be a third selection set and not any of the ones that are combined. For example, if you want to combine A and B and put the result in A, you must combine A and B into C, and then set A to C.
To combine two selection sets, the sets must be derived from the same table or feature class. Attempting to combine selection sets from different datasets will raise an error.
otherSet
- A reference to a com.esri.arcgis.geodatabase.ISelectionSet (in)setOp
- A com.esri.arcgis.geodatabase.esriSetOperation constant (in)resultSet
- A reference to a com.esri.arcgis.geodatabase.ISelectionSet (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void search(IQueryFilter queryFilter, boolean recycling, ICursor[] cursor) throws IOException, AutomationException
Search will return an ICursor with all of the rows that satisfy the constraints specified by a query filter. If a null value is provided for the QueryFilter parameter, the cursor will contain all of the selection set's rows.
The Recycling parameter controls row object allocation behavior.
Recycling cursors rehydrate a single feature/row object on each fetch and can be used to optimize read-only access, for example, when drawing. It is illegal to maintain a reference on a feature/row object returned by a recycling cursor across multiple calls to NextRow on the cursor. Feature/Row objects returned by a recycling cursor should not be modified. Non-recycling cursors return a separate object on each fetch.
The features/rows returned by a non-recycling cursor may be modified and stored with polymorphic behavior. The geodatabase guarantees "unique instance semantics" on non-recycling feature/row objects fetched during an edit session. If the object to be retrieved by a call to search has already been instantiated and is being referenced by the calling application, then a reference to the existing row object is returned.
queryFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)recycling
- The recycling (in)cursor
- A reference to a com.esri.arcgis.geodatabase.ICursor (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ISelectionSet select(IQueryFilter queryFilter, int selType, int selOption, IWorkspace selectionContainer) throws IOException, AutomationException
Select will return a new selection set. This subset of the original selection set will contain all of the rows that satisfy the attribute and/or spatial constraints as specified by the IQueryFilter object. If a null value is passed as the QueryFilter parameter, the new selection set will contain all of the rows from the original selection set.
When calling Select, the selectionContainer parameter is no longer needed; a null value can be provided.
queryFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)selType
- A com.esri.arcgis.geodatabase.esriSelectionType constant (in)selOption
- A com.esri.arcgis.geodatabase.esriSelectionOption constant (in)selectionContainer
- A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void refresh() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IEnumIDs getIDs() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void removeList(int count, int[] oIDList) throws IOException, AutomationException
GeoDatabaseHelper.removeList(com.esri.arcgis.geodatabase.ISelectionSet, int[])
.
Removes a list of OID's from a selection set.
The Count parameter represents the number of elements to remove and
the OIDList is a pointer to an array of feature IDs.
This method should not be called by .NET or Java applications. Instead, call IGeoDatabaseBridge2.RemoveList.
count
- The count (in)oIDList
- The oIDList (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 |