|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.geodatabase.RelQueryRow
public class RelQueryRow
A row defined by a join of the datasets in a RelQueryTable.
A RelQueryRow represents a row of data in a RelQueryTable. A RelQueryRow can be obtained from a RelQueryCursor (ICursor::NextRow) or methods like ITable::GetRow. The ITable::CreateRow method is not supported and will return an error if used.
The IRow, IRowBuffer and IObject interfaces are always implemented by a RelQueryRow. The IFeature, IFeatureBuffer, and IFeatureDraw interfaces are only implemented if the RelQueryTable has a geometry field. See the RowBuffer and Row class topics as well as the Object and Feature class topics for more information on rows in general.
A RelQueryRow is read-only, therefore some of the properties and methods in these interfaces may not be supported. The following table lists the unsupported properties and methods. If any of these are used, an error is returned:
Interface | Unsupported Property/Method |
---|---|
IRowBuffer | Value - Set is unsupported, but Get is supported |
IRow | Store |
Delete | |
IFeature | Shape - Set is unsupported, but Get is supported |
IFeatureBuffer | Shape - Set is unsupported, but Get is supported |
Constructor Summary | |
---|---|
RelQueryRow(Object obj)
Construct a RelQueryRow using a reference to such an object returned from ArcGIS Engine or Server. |
Method Summary | |
---|---|
void |
delete()
Deletes the row. |
void |
draw(int drawPhase,
IDisplay display,
ISymbol symbol,
boolean symbolInstalled,
IGeometry geometry,
int drawStyle)
Draws the feature on the display. |
boolean |
equals(Object o)
Compare this object with another |
IObjectClass |
esri_getClass()
The Object Class for the row. |
IEnvelope |
getExtent()
The extent of the feature. |
int |
getFeatureType()
The type of the feature. |
IFields |
getFields()
The fields Collection for this row buffer. |
IInvalidArea |
getInvalidArea()
The area to be drawn. |
int |
getOID()
The OID for the row. |
IGeometry |
getShape()
A reference to the default shape for the feature. |
IGeometry |
getShapeCopy()
A cloned copy of the default shape for the feature. |
ITable |
getTable()
The Table for the row. |
Object |
getValue(int index)
The value of the field with the specified index. |
int |
hashCode()
the hashcode for this object |
boolean |
isHasOID()
Indicates if the row has an OID. |
void |
project(ISpatialReference outputSR)
Project the feature geometry to the provided spatial reference. |
void |
setInvalidAreaByRef(IInvalidArea invalidArea)
The area to be drawn. |
void |
setShapeByRef(IGeometry shape)
A reference to the default shape for the feature. |
void |
setValue(int index,
Object value)
The value of the field with the specified index. |
void |
store()
Stores the row. |
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 |
---|
public RelQueryRow(Object obj) throws IOException
obj
to RelQueryRow
. *
RelQueryRow o = (RelQueryRow)obj; // will not work
RelQueryRow o = new RelQueryRow(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server
IOException
- if there are interop problems
RelQueryRow theRelQueryRow = (RelQueryRow) obj;
Method Detail |
---|
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public boolean isHasOID() throws IOException, AutomationException
If the table has been registered with the geodatabase it will have unique Object ID, automatically created by the register tool, and the HasOID property will be set to True. Tables not registered with the geodatabase will not have an OID column and the HasOID property will be set to False. See the IClassSchemaEdit::RegisterAsObjectClass method for more information.
isHasOID
in interface IRow
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getOID() throws IOException, AutomationException
Gets the OID for a row in a table that has a unique Object ID, such as tables registered with the geodatabase.
if (pRow.isHasOID()) {
System.out.print(pRow.getOID());
}
getOID
in interface IRow
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITable getTable() throws IOException, AutomationException
Returns a pointer to the table the row belongs to.
ITable pTable; pTable = pRow.getTable();
getTable
in interface IRow
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void store() throws IOException, AutomationException
The Store method is called by an application once it has modified the values of a Row. Once Store is called on a Row object, all subsequent queries within the same edit session, using the Geodatabase API, will reflect the modified state of the Row object.
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
Calling the Store method triggers the following actions:
- The IRowEvents::OnChanged is called for the row being stored. The OnNew is called if this is a newly created row being stored for the first time. A custom row object can implement the OnChanged method and take some special action when it is called - for example; update a special column in the row
- The IRelatedObjectEvents::RelatedObjectChanged method is called for related objects in a related object class if the table for this row is an object class that participates in relationship classes with notification
Store should not be used for batch operations, such as updates or inserts. For performing a number of inserts or updates using cursors, refer to the ITable::Insert, ITable::Update, ITable::UpdateSearchedRows , IFeatureClass::Update andIFeatureClass::Insert. If an insert or update cursor is used on non-simple features (such as network features), the cursor will revert to using Store.
It is not necessary to explicitly call Connect on network features, this is handled polymorphically when Store is called on the feature. This is also the case with features in a Topology, Dirty Area creation is handled internally when Store is called.
Store should not be called inside of edit events, such as OnCreateFeature, OnChangeFeature or OnDeleteFeature. Even if you are modifying the geometry or other field values, Store will be called once the event is complete.
store
in interface IRow
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void delete() throws IOException, AutomationException
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
delete
in interface IRow
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getValue(int index) throws IOException, AutomationException
getValue
in interface IRowBuffer
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setValue(int index, Object value) throws IOException, AutomationException
setValue
in interface IRowBuffer
index
- The index (in)value
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFields getFields() throws IOException, AutomationException
getFields
in interface IRowBuffer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IObjectClass esri_getClass() throws IOException, AutomationException
esri_getClass
in interface IObject
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometry getShapeCopy() throws IOException, AutomationException
The ShapeCopy property is a cloned copy of the feature’s Shape. When modifying the geometry of a feature or a set of features, use the ShapeCopy property to obtain a copy of the feature's geometry, perform the modification on the geometries, then apply the modifications by setting the geometry to the Shape property.
getShapeCopy
in interface IFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IGeometry getShape() throws IOException, AutomationException
The basic process to change the shape of a feature is:
1) Get the feature's existing geometry through IFeature.ShapeCopy or create a new geometry
2) Modify the geometry
3) Set the feature's geometry using IFeature.Shape
4) Store the feature
All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.
getShape
in interface IFeature
getShape
in interface IFeatureBuffer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setShapeByRef(IGeometry shape) throws IOException, AutomationException
setShapeByRef
in interface IFeature
setShapeByRef
in interface IFeatureBuffer
shape
- A reference to a com.esri.arcgis.geometry.IGeometry (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IEnvelope getExtent() throws IOException, AutomationException
getExtent
in interface IFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getFeatureType() throws IOException, AutomationException
getFeatureType
in interface IFeature
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void draw(int drawPhase, IDisplay display, ISymbol symbol, boolean symbolInstalled, IGeometry geometry, int drawStyle) throws IOException, AutomationException
draw
in interface IFeatureDraw
drawPhase
- A com.esri.arcgis.system.esriDrawPhase constant (in)display
- A reference to a com.esri.arcgis.display.IDisplay (in)symbol
- A reference to a com.esri.arcgis.display.ISymbol (in)symbolInstalled
- The symbolInstalled (in)geometry
- A reference to a com.esri.arcgis.geometry.IGeometry (in)drawStyle
- A com.esri.arcgis.geodatabase.esriDrawStyle constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setInvalidAreaByRef(IInvalidArea invalidArea) throws IOException, AutomationException
setInvalidAreaByRef
in interface IFeatureDraw
invalidArea
- A reference to a com.esri.arcgis.geodatabase.IInvalidArea (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IInvalidArea getInvalidArea() throws IOException, AutomationException
getInvalidArea
in interface IFeatureDraw
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void project(ISpatialReference outputSR) throws IOException, AutomationException
Projects the feature from the current spatial reference to the output spatial reference.
project
in interface IFeatureProject
outputSR
- A reference to a com.esri.arcgis.geometry.ISpatialReference (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 |