com.esri.arcgis.geodatabase
Class RelQueryTableFactory

java.lang.Object
  extended by com.esri.arcgis.geodatabase.RelQueryTableFactory
All Implemented Interfaces:
IRelQueryTableFactory, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class RelQueryTableFactory
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IRelQueryTableFactory

Object used to create join table objects.

Remarks

A RelQueryTableFactory is an object that manages the RelQueryTables in the application. You must use either a RelQueryTableFactory or a RelQueryTableName object to create new RelQueryTables.

Like WorkspaceFactory objects, a RelQueryTable is a singleton object. This means that you can only have one instance of this object in a process.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Singleton:

This type is a singleton.

See Also:
Serialized Form

Constructor Summary
RelQueryTableFactory()
          Constructs a RelQueryTableFactory using ArcGIS Engine.
RelQueryTableFactory(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
RelQueryTableFactory theRelQueryTableFactory = (RelQueryTableFactory) obj;
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
static String getClsid()
          getClsid.
 int hashCode()
          the hashcode for this object
 IRelQueryTable open(IRelationshipClass relationshipClass, boolean joinForward, IQueryFilter queryFilter, ISelectionSet srcSelectionSet, String targetColumns, boolean doNotPushJoinToDB, boolean openAsLeftOuterJoin)
          Opens a join table specified by the given properties.
 
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

RelQueryTableFactory

public RelQueryTableFactory()
                     throws IOException,
                            UnknownHostException
Constructs a RelQueryTableFactory using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

RelQueryTableFactory

public RelQueryTableFactory(Object obj)
                     throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
RelQueryTableFactory theRelQueryTableFactory = (RelQueryTableFactory) obj;

Construct a RelQueryTableFactory using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to RelQueryTableFactory.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


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

open

public IRelQueryTable open(IRelationshipClass relationshipClass,
                           boolean joinForward,
                           IQueryFilter queryFilter,
                           ISelectionSet srcSelectionSet,
                           String targetColumns,
                           boolean doNotPushJoinToDB,
                           boolean openAsLeftOuterJoin)
                    throws IOException,
                           AutomationException
Opens a join table specified by the given properties.

Remarks

The Open method either creates a new RelQueryTable or returns a reference to an existing RelQueryTable if that class has already been created.

The following table further describes each parameter in the Open method:

Parameter Meaning
RelationshipClass This is the RelationshipClass used to define the join tables and join fields as well as the cardinality.
joinForward If joinForward is True, the origin table from pRelClass is the source in the RelQeuryTable, otherwise the destination table in pRelClass becomes the source. If the cardinality is many to one, you can define your relationship as 1 to many and set this parameter to false in order to make the many side the source. You will need to do this since you can't set the cardinality to many to 1 for a RelationshipClass.
QueryFilter You can further define the data that will be returned by a RelQueryTable by applying a QueryFilter. The WhereClause of pQueryFilter is added to the WhereClause of the QueryFilter specified when you use the ITable::Search method using the and operator. The SubFields of pQueryFilter define which fields will include data when a cursor is opened. The other fields are included but will be empty.
SrcSelectionSet This parameter is not exposed and should always be set to nothing.
TargetColumns This is a comma delimited string that defines the fields returned from the destination table. This is different from the SubFields of pQueryFilter since in this case, fields not included in target_columns are not included at all in a cursor.
DoNotPushJoinToDB If this 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 on the same ArcSDE server or Personal Geodatabase, the processing can be performed by the server, which is normally faster. The openAsLeftOuterJoin parameter below 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.
openAsLeftOuterJoin A left outer join is performed if this is True, otherwise a left inner join is performed. See IRelQueryTableInfo::JoinType for more information.

The following diagram shows how the output RelQueryTable represents a table join.

RelQueryTable diagram

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
open in interface IRelQueryTableFactory
Parameters:
relationshipClass - A reference to a com.esri.arcgis.geodatabase.IRelationshipClass (in)
joinForward - The joinForward (in)
queryFilter - 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)
openAsLeftOuterJoin - The openAsLeftOuterJoin (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IRelQueryTable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.