com.esri.arcgis.geodatabase
Interface IRelQueryTableName

All Superinterfaces:
Serializable
All Known Implementing Classes:
RelQueryTableName

public interface IRelQueryTableName
extends Serializable

Provides access to members that define a relationship query table name.

Superseded By

IRelQueryTableName2

Remarks

The IRelQueryTableName interface contains properties that correspond to the parameters used with the IRelQueryTableFactory::Open method.

The following code shows how to create a new RelQueryTable from a RelQueryTableName object. The function takes a MemoryRelationshipClassName object. To find how to create a MemoryRelationshipClassName, see the help for IMemoryRelationshipClassName.

The IDataset::FullName method can be used on an existing RelQueryTable object to get a corresponding RelQueryTableName object.

See the IName interface topic for more information on Name objects in general.

Product Availability

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

See Also:
IGPDataType.getFullName()

Method Summary
 IName getRelationshipClassName()
          The name object for the RelationshipClass that defines the RelQueryTable.
 IQueryFilter getSrcQueryFilter()
          A QueryFilter applied to a cursor opened from the RelQueryTable.
 ISelectionSet getSrcSelectionSet()
          A SelectionSet applied to a cursor opened from the RelQueryTable.
 String getTargetColumns()
          The destination dataset columns available in a cursor opened from the RelTableTable.
 boolean isDoNotPushJoinToDB()
          Indicates if the join is processed on the client.
 boolean isForwardDirection()
          Indicates if the originPrimaryClass of the RelationshipClass is the SourceTable.
 boolean isLeftOuterJoin()
          Indicates if the type of join will be a left outer join.
 void setDoNotPushJoinToDB(boolean doNotPushJoinToDB)
          Indicates if the join is processed on the client.
 void setForwardDirection(boolean forward)
          Indicates if the originPrimaryClass of the RelationshipClass is the SourceTable.
 void setLeftOuterJoin(boolean leftOuterJoin)
          Indicates if the type of join will be a left outer join.
 void setRelationshipClassNameByRef(IName relClassName)
          The name object for the RelationshipClass that defines the RelQueryTable.
 void setSrcQueryFilterByRef(IQueryFilter queryFilter)
          A QueryFilter applied to a cursor opened from the RelQueryTable.
 void setSrcSelectionSetByRef(ISelectionSet selectionSet)
          A SelectionSet applied to a cursor opened from the RelQueryTable.
 void setTargetColumns(String targetColumns)
          The destination dataset columns available in a cursor opened from the RelTableTable.
 

Method Detail

setRelationshipClassNameByRef

void setRelationshipClassNameByRef(IName relClassName)
                                   throws IOException,
                                          AutomationException
The name object for the RelationshipClass that defines the RelQueryTable.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRelationshipClassName

IName getRelationshipClassName()
                               throws IOException,
                                      AutomationException
The name object for the RelationshipClass that defines the RelQueryTable.

Remarks

This is the RelationshipClassName that defines the join tables and join fields as well as the cardinality.

You can set this property using a RelationshipClassName that refers to either a RelationshipClass in a geodatabase or a MemoryRelationshipClass.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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.

setForwardDirection

void setForwardDirection(boolean forward)
                         throws IOException,
                                AutomationException
Indicates if the originPrimaryClass of the RelationshipClass is the SourceTable.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
forward - The forward (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isForwardDirection

boolean isForwardDirection()
                           throws IOException,
                                  AutomationException
Indicates if the originPrimaryClass of the RelationshipClass is the SourceTable.

Remarks

If ForwardDirection is True, the origin table in the RelationshipClassName is the source in the RelQueryTable, otherwise the destination table in the RelationshipClassName becomes the source. If the cardinality is many to one, you can define your relationship as one-to-many and set this parameter to false in order to make the many side the source. It's necessary to do this to get every joined row, since you can't set the cardinality to many-to-one for a RelationshipClass.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
The forward
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSrcQueryFilterByRef

void setSrcQueryFilterByRef(IQueryFilter queryFilter)
                            throws IOException,
                                   AutomationException
A QueryFilter applied to a cursor opened from the RelQueryTable.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSrcQueryFilter

IQueryFilter getSrcQueryFilter()
                               throws IOException,
                                      AutomationException
A QueryFilter applied to a cursor opened from the RelQueryTable.

Remarks

You can further define the data that will be returned by a RelQueryTable by applying a QueryFilter. The WhereClause of SrcQueryFilter is added to the WhereClause of the QueryFilter specified when you use the ITable::Search method using the and operator. The SubFields of SrcQueryFilter define which fields will include data when a cursor is opened. The other fields are included but will be empty.

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.IQueryFilter
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSrcSelectionSetByRef

void setSrcSelectionSetByRef(ISelectionSet selectionSet)
                             throws IOException,
                                    AutomationException
A SelectionSet applied to a cursor opened from the RelQueryTable.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSrcSelectionSet

ISelectionSet getSrcSelectionSet()
                                 throws IOException,
                                        AutomationException
A SelectionSet applied to a cursor opened from the RelQueryTable.

Remarks

This property is not implemented, and should not be set.

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.ISelectionSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTargetColumns

void setTargetColumns(String targetColumns)
                      throws IOException,
                             AutomationException
The destination dataset columns available in a cursor opened from the RelTableTable.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
targetColumns - The targetColumns (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTargetColumns

String getTargetColumns()
                        throws IOException,
                               AutomationException
The destination dataset columns available in a cursor opened from the RelTableTable.

Remarks

This is a comma delimited string that defines the fields returned from the destination table. This is different from the SubFields of SrcQueryFilter since in this case, fields not included in TargetColumns are not included at all in a cursor.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
The targetColumns
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDoNotPushJoinToDB

void setDoNotPushJoinToDB(boolean doNotPushJoinToDB)
                          throws IOException,
                                 AutomationException
Indicates if the join is processed on the client.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
doNotPushJoinToDB - The doNotPushJoinToDB (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDoNotPushJoinToDB

boolean isDoNotPushJoinToDB()
                            throws IOException,
                                   AutomationException
Indicates if the join is processed on the client.

Remarks

If DoNotPushJoinToDB is True, the join is always processed on the client; otherwise, it is processed on the server (if possible). If all tables involved are stored in the same geodatabase, the processing can be performed by the server, which is normally faster. The LeftOuterJoin property must also be set to False in order for processing to occur on the server. In any other case, processing occurs on the client regardless of how this parameter is set.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
The doNotPushJoinToDB
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLeftOuterJoin

void setLeftOuterJoin(boolean leftOuterJoin)
                      throws IOException,
                             AutomationException
Indicates if the type of join will be a left outer join.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
leftOuterJoin - The leftOuterJoin (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isLeftOuterJoin

boolean isLeftOuterJoin()
                        throws IOException,
                               AutomationException
Indicates if the type of join will be a left outer join.

Remarks

A left outer join is performed if LeftOuterJoin is set to True, otherwise a left inner join is performed. See IRelQueryTableInfo::JoinType for more information.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
The leftOuterJoin
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.