com.esri.arcgis.trackinganalyst
Class TemporalFeature

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

public class TemporalFeature
extends java.lang.Object
implements IRowChanges, IFeatureChanges, IFeatureDraw, IRowCompare, IFeatureBuffer, IRow, IFeature, IFeatureSimplify, IRowBuffer, ITemporalFeature

Controls properties of the Temporal Feature object.

Product Availability

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

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.

See Also:
Serialized Form

Constructor Summary
TemporalFeature(java.lang.Object obj)
          Construct a TemporalFeature using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void addIFeatureEventsListener(IFeatureEvents theListener)
           
 void addIRowEventsListener(IRowEvents theListener)
           
 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(java.lang.Object o)
          Compare this object with another
 IObjectClass esri_getClass()
          The Object Class for the row.
 IFeature getAsIFeature()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureBuffer getAsIFeatureBuffer()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureChanges getAsIFeatureChanges()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureDraw getAsIFeatureDraw()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IFeatureSimplify getAsIFeatureSimplify()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IRow getAsIRow()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IRowBuffer getAsIRowBuffer()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IRowChanges getAsIRowChanges()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IRowCompare getAsIRowCompare()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ITemporalFeature getAsITemporalFeature()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 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.
 java.lang.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.
 java.lang.Object getValue(int index)
          The value of the field with the specified index.
 int hashCode()
          the hashcode for this object
 boolean isEqual(IRow pOtherRow)
          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)
           
 void removeIRowEventsListener(IRowEvents theListener)
           
 void setInvalidAreaByRef(IInvalidArea invalidArea)
          The area to be drawn.
 void setShapeByRef(IGeometry shape)
          The default shape in the feature buffer.
 void setValue(int index, java.lang.Object value)
          The value of the field with the specified index.
 void simplifyGeometry(IGeometry pGeometry)
          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
 

Constructor Detail

TemporalFeature

public TemporalFeature(java.lang.Object obj)
                throws java.io.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 TemporalFeature theTemporalFeature = (TemporalFeature) obj;

Throws:
java.io.IOException - if there are interop problems
Method Detail

getAsIRowChanges

public IRowChanges getAsIRowChanges()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureChanges

public IFeatureChanges getAsIFeatureChanges()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureDraw

public IFeatureDraw getAsIFeatureDraw()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIRowCompare

public IRowCompare getAsIRowCompare()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureBuffer

public IFeatureBuffer getAsIFeatureBuffer()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIRow

public IRow getAsIRow()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeature

public IFeature getAsIFeature()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIFeatureSimplify

public IFeatureSimplify getAsIFeatureSimplify()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIRowBuffer

public IRowBuffer getAsIRowBuffer()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsITemporalFeature

public ITemporalFeature getAsITemporalFeature()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


equals

public boolean equals(java.lang.Object o)
Compare this object with another


hashCode

public int hashCode()
the hashcode for this object


addIFeatureEventsListener

public void addIFeatureEventsListener(IFeatureEvents theListener)
                               throws java.io.IOException
Throws:
java.io.IOException

removeIFeatureEventsListener

public void removeIFeatureEventsListener(IFeatureEvents theListener)
                                  throws java.io.IOException
Throws:
java.io.IOException

addIRowEventsListener

public void addIRowEventsListener(IRowEvents theListener)
                           throws java.io.IOException
Throws:
java.io.IOException

removeIRowEventsListener

public void removeIRowEventsListener(IRowEvents theListener)
                              throws java.io.IOException
Throws:
java.io.IOException

isValueChanged

public boolean isValueChanged(int index)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IRowChanges
Indicates whether the value of the field at the specified index has changed since the last call to Store on the Row object.

Supported Platforms

Windows, Solaris, Linux

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

getOriginalValue

public java.lang.Object getOriginalValue(int index)
                                  throws java.io.IOException,
                                         AutomationException
Description copied from interface: IRowChanges
The value of the field at the specified index immediately after the last call to Store on the Row object.

Supported Platforms

Windows, Solaris, Linux

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

isShapeChanged

public boolean isShapeChanged()
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IFeatureChanges
Indicates if the shape has changed.

Supported Platforms

Windows, Solaris, Linux

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.

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

getOriginalShape

public IGeometry getOriginalShape()
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: IFeatureChanges
The original shape for the feature.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getOriginalShape in interface IFeatureChanges
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
java.io.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 java.io.IOException,
                 AutomationException
Description copied from interface: IFeatureDraw
Draws the feature on the display.

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

setInvalidAreaByRef

public void setInvalidAreaByRef(IInvalidArea invalidArea)
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IFeatureDraw
The area to be drawn.

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

getInvalidArea

public IInvalidArea getInvalidArea()
                            throws java.io.IOException,
                                   AutomationException
Description copied from interface: IFeatureDraw
The area to be drawn.

Supported Platforms

Windows, Solaris, Linux

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

isEqual

public boolean isEqual(IRow pOtherRow)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IRowCompare
Indicates if the rows (which may be from two different versions) are the same (oid + values).

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

getShape

public IGeometry getShape()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IFeatureBuffer
The default shape in the feature buffer.

Supported Platforms

Windows, Solaris, Linux

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.

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

setShapeByRef

public void setShapeByRef(IGeometry shape)
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IFeatureBuffer
The default shape in the feature buffer.

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

getValue

public java.lang.Object getValue(int index)
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IRowBuffer
The value of the field with the specified index.

Supported Platforms

Windows, Solaris, Linux

Remarks

The Index parameter is a zero based index.

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

setValue

public void setValue(int index,
                     java.lang.Object value)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IRowBuffer
The value of the field with the specified index.

Supported Platforms

Windows, Solaris, Linux

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

getFields

public IFields getFields()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IRowBuffer
The fields Collection for this row buffer.

Supported Platforms

Windows, Solaris, Linux

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

isHasOID

public boolean isHasOID()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IRow
Indicates if the row has an OID.

Supported Platforms

Windows, Solaris, Linux

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.

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

getOID

public int getOID()
           throws java.io.IOException,
                  AutomationException
Description copied from interface: IRow
The OID for the row.

Supported Platforms

Windows, Solaris, Linux

Description

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

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

getTable

public ITable getTable()
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IRow
The Table for the row.

Supported Platforms

Windows, Solaris, Linux

Description

Returns a pointer to the table the row belongs to.

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

store

public void store()
           throws java.io.IOException,
                  AutomationException
Description copied from interface: IRow
Stores the row.

Supported Platforms

Windows, Solaris, Linux

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.

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

delete

public void delete()
            throws java.io.IOException,
                   AutomationException
Description copied from interface: IRow
Deletes the row.

Supported Platforms

Windows, Solaris, Linux

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.

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

getShapeCopy

public IGeometry getShapeCopy()
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IFeature
A cloned copy of the default shape for the feature.

Supported Platforms

Windows, Solaris, Linux

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

getExtent

public IEnvelope getExtent()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IFeature
The extent of the feature.

Supported Platforms

Windows, Solaris, Linux

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

getFeatureType

public int getFeatureType()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IFeature
The type of the feature.

Supported Platforms

Windows, Solaris, Linux

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

esri_getClass

public IObjectClass esri_getClass()
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: IObject
The Object Class for the row.

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

simplifyGeometry

public void simplifyGeometry(IGeometry pGeometry)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IFeatureSimplify
Simplifies the input geometry using the rules appropriate for this feature.

Supported Platforms

Windows, Solaris, Linux

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.

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

getTemporalFeatureType

public int getTemporalFeatureType()
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: ITemporalFeature
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.

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