com.esri.arcgis.trackinganalyst
Class TemporalFeature

java.lang.Object
  extended by com.esri.arcgis.trackinganalyst.TemporalFeature
All Implemented Interfaces:
IFeature, IFeatureBuffer, IFeatureChanges, IFeatureDraw, IFeatureSimplify, IObject, IRow, IRowBuffer, IRowChanges, IRowCompare, com.esri.arcgis.interop.RemoteObjRef, ITemporalFeature, Serializable

public class TemporalFeature
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IRowChanges, IFeatureChanges, IFeatureDraw, IRowCompare, IFeatureBuffer, IRow, IFeature, IFeatureSimplify, IRowBuffer, ITemporalFeature

Controls properties of the Temporal Feature object.

Description

The temporal feature object implements a feature that has temporal characteristics. This is a non-creatable object that is created within the bounds of a tracking server Workspace. This object follows the same rules as any other ESRI feature except that it does not allow relations or rules or domains to be applied to it.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

See Also:
Serialized Form

Constructor Summary
TemporalFeature(Object obj)
          Construct a TemporalFeature using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void addIFeatureEventsListener(IFeatureEvents theListener)
          addIFeatureEventsListener.
 void addIRowEventsListener(IRowEvents theListener)
          addIRowEventsListener.
 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 getOriginalShape()
          The original shape for the feature.
 Object getOriginalValue(int index)
          The value of the field at the specified index immediately after the last call to Store on the Row object.
 IGeometry getShape()
          The default shape in the feature buffer.
 IGeometry getShapeCopy()
          A cloned copy of the default shape for the feature.
 ITable getTable()
          The Table for the row.
 int getTemporalFeatureType()
          Specifies the type of feature used in a temporal workspace.
 Object getValue(int index)
          The value of the field with the specified index.
 int hashCode()
          the hashcode for this object
 boolean isEqual(IRow otherRow)
          Indicates if the rows (which may be from two different versions) are the same (oid + values).
 boolean isHasOID()
          Indicates if the row has an OID.
 boolean isShapeChanged()
          Indicates if the shape has changed.
 boolean isValueChanged(int index)
          Indicates whether the value of the field at the specified index has changed since the last call to Store on the Row object.
 void removeIFeatureEventsListener(IFeatureEvents theListener)
          removeIFeatureEventsListener.
 void removeIRowEventsListener(IRowEvents theListener)
          removeIRowEventsListener.
 void setInvalidAreaByRef(IInvalidArea invalidArea)
          The area to be drawn.
 void setShapeByRef(IGeometry shape)
          The default shape in the feature buffer.
 void setValue(int index, Object value)
          The value of the field with the specified index.
 void simplifyGeometry(IGeometry geometry)
          Simplifies the input geometry using the rules appropriate for this feature.
 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

TemporalFeature

public TemporalFeature(Object obj)
                throws IOException
Construct a TemporalFeature using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to TemporalFeature.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
TemporalFeature o = (TemporalFeature)obj; // will not work

TemporalFeature o = new TemporalFeature(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems TemporalFeature theTemporalFeature = (TemporalFeature) obj;
Method Detail

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

addIFeatureEventsListener

public void addIFeatureEventsListener(IFeatureEvents theListener)
                               throws IOException
addIFeatureEventsListener. Listen to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.geodatabase.IFeatureEvents interface.
Throws:
IOException - If there are communications problems.

removeIFeatureEventsListener

public void removeIFeatureEventsListener(IFeatureEvents theListener)
                                  throws IOException
removeIFeatureEventsListener. Stop listening to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.geodatabase.IFeatureEvents interface.
Throws:
IOException - If there are communications problems.

addIRowEventsListener

public void addIRowEventsListener(IRowEvents theListener)
                           throws IOException
addIRowEventsListener. Listen to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.geodatabase.IRowEvents interface.
Throws:
IOException - If there are communications problems.

removeIRowEventsListener

public void removeIRowEventsListener(IRowEvents theListener)
                              throws IOException
removeIRowEventsListener. Stop listening to events generated by this class.

Parameters:
theListener - An object that implements the com.esri.arcgis.geodatabase.IRowEvents interface.
Throws:
IOException - If there are communications problems.

isValueChanged

public boolean isValueChanged(int index)
                       throws IOException,
                              AutomationException
Indicates whether the value of the field at the specified index has changed since the last call to Store on the Row object.

Product Availability

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

Specified by:
isValueChanged in interface IRowChanges
Parameters:
index - The index (in)
Returns:
The changed
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOriginalValue

public Object getOriginalValue(int index)
                        throws IOException,
                               AutomationException
The value of the field at the specified index immediately after the last call to Store on the Row object.

Product Availability

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

Specified by:
getOriginalValue in interface IRowChanges
Parameters:
index - The index (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isShapeChanged

public boolean isShapeChanged()
                       throws IOException,
                              AutomationException
Indicates if the shape has changed.

Remarks

IFeatureChanges::ShapeChanged can be used to determine if a feature's geometry has changed. If the feature's geometry has been changed, but IRow::Store has not yet been called, ShapeChanged will return True. Once Store is called, ShapeChanged will return False. ShapeChanged can also be used in an event triggered by Store, such as IRowEvents::OnChanged. When used in this manner, ShapeChanged will return True if the feature's shape has changed. Once Store is complete, ShapeChanged will return false.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isShapeChanged in interface IFeatureChanges
Returns:
The changed
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOriginalShape

public IGeometry getOriginalShape()
                           throws IOException,
                                  AutomationException
The original shape for the feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getOriginalShape in interface IFeatureChanges
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

draw

public void draw(int drawPhase,
                 IDisplay display,
                 ISymbol symbol,
                 boolean symbolInstalled,
                 IGeometry geometry,
                 int drawStyle)
          throws IOException,
                 AutomationException
Draws the feature on the display.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
draw in interface IFeatureDraw
Parameters:
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)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setInvalidAreaByRef

public void setInvalidAreaByRef(IInvalidArea invalidArea)
                         throws IOException,
                                AutomationException
The area to be drawn.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setInvalidAreaByRef in interface IFeatureDraw
Parameters:
invalidArea - A reference to a com.esri.arcgis.geodatabase.IInvalidArea (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInvalidArea

public IInvalidArea getInvalidArea()
                            throws IOException,
                                   AutomationException
The area to be drawn.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getInvalidArea in interface IFeatureDraw
Returns:
A reference to a com.esri.arcgis.geodatabase.IInvalidArea
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isEqual

public boolean isEqual(IRow otherRow)
                throws IOException,
                       AutomationException
Indicates if the rows (which may be from two different versions) are the same (oid + values).

Product Availability

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

Specified by:
isEqual in interface IRowCompare
Parameters:
otherRow - A reference to a com.esri.arcgis.geodatabase.IRow (in)
Returns:
The isEqual
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getShape

public IGeometry getShape()
                   throws IOException,
                          AutomationException
The default shape in the feature buffer.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getShape in interface IFeature
Specified by:
getShape in interface IFeatureBuffer
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setShapeByRef

public void setShapeByRef(IGeometry shape)
                   throws IOException,
                          AutomationException
The default shape in the feature buffer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setShapeByRef in interface IFeature
Specified by:
setShapeByRef in interface IFeatureBuffer
Parameters:
shape - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getValue

public Object getValue(int index)
                throws IOException,
                       AutomationException
The value of the field with the specified index.

Product Availability

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

Specified by:
getValue in interface IRowBuffer
Parameters:
index - The index (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setValue

public void setValue(int index,
                     Object value)
              throws IOException,
                     AutomationException
The value of the field with the specified index.

Product Availability

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

Specified by:
setValue in interface IRowBuffer
Parameters:
index - The index (in)
value - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFields

public IFields getFields()
                  throws IOException,
                         AutomationException
The fields Collection for this row buffer.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFields in interface IRowBuffer
Returns:
A reference to a com.esri.arcgis.geodatabase.IFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasOID

public boolean isHasOID()
                 throws IOException,
                        AutomationException
Indicates if the row has an OID.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
isHasOID in interface IRow
Returns:
The hasOID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOID

public int getOID()
           throws IOException,
                  AutomationException
The OID for the row.

Description

Gets the OID for a row in a table that has a unique Object ID, such as tables registered with the geodatabase.

Example:

if (pRow.isHasOID()) {

        System.out.print(pRow.getOID());

      }

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getOID in interface IRow
Returns:
The oID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTable

public ITable getTable()
                throws IOException,
                       AutomationException
The Table for the row.

Description

Returns a pointer to the table the row belongs to.

Example:

ITable pTable;

pTable = pRow.getTable();


Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getTable in interface IRow
Returns:
A reference to a com.esri.arcgis.geodatabase.ITable
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

store

public void store()
           throws IOException,
                  AutomationException
Stores the row.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
store in interface IRow
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

delete

public void delete()
            throws IOException,
                   AutomationException
Deletes the row.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
delete in interface IRow
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getShapeCopy

public IGeometry getShapeCopy()
                       throws IOException,
                              AutomationException
A cloned copy of the default shape for the feature.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getShapeCopy in interface IFeature
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

public IEnvelope getExtent()
                    throws IOException,
                           AutomationException
The extent of the feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtent in interface IFeature
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFeatureType

public int getFeatureType()
                   throws IOException,
                          AutomationException
The type of the feature.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFeatureType in interface IFeature
Returns:
A com.esri.arcgis.geodatabase.esriFeatureType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_getClass

public IObjectClass esri_getClass()
                           throws IOException,
                                  AutomationException
The Object Class for the row.

Product Availability

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

Specified by:
esri_getClass in interface IObject
Returns:
A reference to a com.esri.arcgis.geodatabase.IObjectClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

simplifyGeometry

public void simplifyGeometry(IGeometry geometry)
                      throws IOException,
                             AutomationException
Simplifies the input geometry using the rules appropriate for this feature.

Remarks

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
simplifyGeometry in interface IFeatureSimplify
Parameters:
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTemporalFeatureType

public int getTemporalFeatureType()
                           throws IOException,
                                  AutomationException
Specifies the type of feature used in a temporal workspace.

Description

This property indicates which type of temporal feature this is. The enumeration enumTemporalFeatureType describes the various types.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Tracking Analyst Extension.

Specified by:
getTemporalFeatureType in interface ITemporalFeature
Returns:
A com.esri.arcgis.trackinganalyst.enumTemporalFeatureType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.