com.esri.arcgis.schematic
Class SchematicInMemoryDiagram

java.lang.Object
  extended by com.esri.arcgis.schematic.SchematicInMemoryDiagram
All Implemented Interfaces:
IGeoDataset, com.esri.arcgis.interop.RemoteObjRef, ISchematicInMemoryDiagram, ISchematicInMemoryFeatureClassContainer, ISchematicInMemoryObject, ISchematicObject, Serializable

public class SchematicInMemoryDiagram
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ISchematicInMemoryDiagram, IGeoDataset, ISchematicObject, ISchematicInMemoryObject, ISchematicInMemoryFeatureClassContainer

Schematic in memory diagram object.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
SchematicInMemoryDiagram(Object obj)
          Construct a SchematicInMemoryDiagram using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
 IObjectClass esri_getClass()
          Object class related to the schematic object.
 IEnvelope getExtent()
          The extent of the GeoDataset.
 String getName()
          Name of the schematic in memory diagram.
 ISchematicDiagram getSchematicDiagram()
          The schematic diagram relative to the schematic in memory diagram.
 ISchematicDiagramClass getSchematicDiagramClass()
          The schematic diagram class the schematic in memory diagram belongs to.
 ISchematicInMemoryFeature getSchematicInMemoryFeatureByType(int elementType, String name)
          Finds a schematic in memory feature referenced by the specified name and the specified element type within the schematic in memory net feature.
 ISchematicInMemoryFeatureClass getSchematicInMemoryFeatureClass(ISchematicElementClass schematicElementClass)
          Finds the in memory feature classes corresponding to a schematic element class.
 IEnumSchematicInMemoryFeatureClass getSchematicInMemoryFeatureClasses()
          Enumeration of in memory feature classes.
 IEnumSchematicInMemoryFeature getSchematicInMemoryFeatures()
          Schematic in memory features enumeration within the schematic in memory diagram.
 IEnumSchematicInMemoryFeature getSchematicInMemoryFeaturesByClass(ISchematicElementClass schematicElementClass)
          Finds a schematic in memory features enumeration by the specified schematic element class within the schematic in memory net feature.
 IEnumSchematicInMemoryFeature getSchematicInMemoryFeaturesByType(int elementType)
          Finds a schematic in memory features enumeration by the specified element type within the schematic in memory net feature.
 ISchematicObjectClass getSchematicObjectClass()
          The schematic object class the schematic in memory object belongs to.
 ISpatialReference getSpatialReference()
          The spatial reference of the GeoDataset.
 int hashCode()
          the hashcode for this object
 boolean isHasChanged()
          Indicates if the schematic in memory diagram has changed in the current session.
 boolean isLayoutHasChanged()
          Indicates if the saved layout of the schematic diagram is no more the initial layout.
 void refresh()
          Refreshes the schematic in memory diagram.
 void save(ILayer layer)
          Saves the schematic in memory diagram.
 void setHasChanged(boolean hasChanged)
          Indicates if the schematic in memory diagram has changed in the current session.
 void setLayoutHasChanged(boolean layoutHasChanged)
          Indicates if the saved layout of the schematic diagram is no more the initial layout.
 
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

SchematicInMemoryDiagram

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

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

Throws:
IOException - if there are interop problems SchematicInMemoryDiagram theSchematicInMemoryDiagram = (SchematicInMemoryDiagram) 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

getName

public String getName()
               throws IOException,
                      AutomationException
Name of the schematic in memory diagram.

Product Availability

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

Specified by:
getName in interface ISchematicInMemoryDiagram
Specified by:
getName in interface ISchematicInMemoryObject
Specified by:
getName in interface ISchematicObject
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchematicDiagram

public ISchematicDiagram getSchematicDiagram()
                                      throws IOException,
                                             AutomationException
The schematic diagram relative to the schematic in memory diagram.

Product Availability

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

Specified by:
getSchematicDiagram in interface ISchematicInMemoryDiagram
Returns:
A reference to a com.esri.arcgis.schematic.ISchematicDiagram
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchematicDiagramClass

public ISchematicDiagramClass getSchematicDiagramClass()
                                                throws IOException,
                                                       AutomationException
The schematic diagram class the schematic in memory diagram belongs to.

Product Availability

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

Specified by:
getSchematicDiagramClass in interface ISchematicInMemoryDiagram
Returns:
A reference to a com.esri.arcgis.schematic.ISchematicDiagramClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

save

public void save(ILayer layer)
          throws IOException,
                 AutomationException
Saves the schematic in memory diagram.

Description

During the diagram saving, the changes on the in-memory features in the in-memory diagram are reported on the related schematic elements in the schematic database.

Product Availability

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

Specified by:
save in interface ISchematicInMemoryDiagram
Parameters:
layer - A reference to a com.esri.arcgis.carto.ILayer (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refresh

public void refresh()
             throws IOException,
                    AutomationException
Refreshes the schematic in memory diagram.

Product Availability

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

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

getSchematicInMemoryFeatures

public IEnumSchematicInMemoryFeature getSchematicInMemoryFeatures()
                                                           throws IOException,
                                                                  AutomationException
Schematic in memory features enumeration within the schematic in memory diagram.

Product Availability

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

Specified by:
getSchematicInMemoryFeatures in interface ISchematicInMemoryDiagram
Returns:
A reference to a com.esri.arcgis.schematic.IEnumSchematicInMemoryFeature
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchematicInMemoryFeatureByType

public ISchematicInMemoryFeature getSchematicInMemoryFeatureByType(int elementType,
                                                                   String name)
                                                            throws IOException,
                                                                   AutomationException
Finds a schematic in memory feature referenced by the specified name and the specified element type within the schematic in memory net feature.

Product Availability

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

Specified by:
getSchematicInMemoryFeatureByType in interface ISchematicInMemoryDiagram
Parameters:
elementType - A com.esri.arcgis.schematic.esriSchematicElementType constant (in)
name - The name (in)
Returns:
A reference to a com.esri.arcgis.schematic.ISchematicInMemoryFeature
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchematicInMemoryFeaturesByType

public IEnumSchematicInMemoryFeature getSchematicInMemoryFeaturesByType(int elementType)
                                                                 throws IOException,
                                                                        AutomationException
Finds a schematic in memory features enumeration by the specified element type within the schematic in memory net feature.

Product Availability

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

Specified by:
getSchematicInMemoryFeaturesByType in interface ISchematicInMemoryDiagram
Parameters:
elementType - A com.esri.arcgis.schematic.esriSchematicElementType constant (in)
Returns:
A reference to a com.esri.arcgis.schematic.IEnumSchematicInMemoryFeature
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchematicInMemoryFeaturesByClass

public IEnumSchematicInMemoryFeature getSchematicInMemoryFeaturesByClass(ISchematicElementClass schematicElementClass)
                                                                  throws IOException,
                                                                         AutomationException
Finds a schematic in memory features enumeration by the specified schematic element class within the schematic in memory net feature.

Product Availability

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

Specified by:
getSchematicInMemoryFeaturesByClass in interface ISchematicInMemoryDiagram
Parameters:
schematicElementClass - A reference to a com.esri.arcgis.schematic.ISchematicElementClass (in)
Returns:
A reference to a com.esri.arcgis.schematic.IEnumSchematicInMemoryFeature
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasChanged

public boolean isHasChanged()
                     throws IOException,
                            AutomationException
Indicates if the schematic in memory diagram has changed in the current session.

Product Availability

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

Specified by:
isHasChanged in interface ISchematicInMemoryDiagram
Returns:
The hasChanged
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHasChanged

public void setHasChanged(boolean hasChanged)
                   throws IOException,
                          AutomationException
Indicates if the schematic in memory diagram has changed in the current session.

Product Availability

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

Specified by:
setHasChanged in interface ISchematicInMemoryDiagram
Parameters:
hasChanged - The hasChanged (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isLayoutHasChanged

public boolean isLayoutHasChanged()
                           throws IOException,
                                  AutomationException
Indicates if the saved layout of the schematic diagram is no more the initial layout.

Product Availability

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

Specified by:
isLayoutHasChanged in interface ISchematicInMemoryDiagram
Returns:
The layoutHasChanged
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setLayoutHasChanged

public void setLayoutHasChanged(boolean layoutHasChanged)
                         throws IOException,
                                AutomationException
Indicates if the saved layout of the schematic diagram is no more the initial layout.

Product Availability

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

Specified by:
setLayoutHasChanged in interface ISchematicInMemoryDiagram
Parameters:
layoutHasChanged - The layoutHasChanged (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The spatial reference of the GeoDataset.

Remarks

This property is read only. For layers, when the first layer is added to ArcMap, its spatial reference is read by this property, and the map is set to this spatial reference.

Instances of the esriCarto.GroupLayer class will return null for this property, as a group layer can contain multiple datasets with different spatial references.

Modifications to a spatial reference returned by this property will not be persisted. To modify the spatial reference of a dataset, the IGeoDatasetSchemaEdit and IGeoDatasetSchemaEdit2 interfaces should be used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpatialReference in interface IGeoDataset
Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
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 GeoDataset.

Remarks

The IGeoDataset::Extent property returns an envelope representing the maximum extent of data which has been stored in the dataset.

Consider the following scenario. A new feature class has features added to it. The IGeoDataset::Extent is then requested and an envelope is returned. The extents of the envelope returned are represented by the red box in the image below.

The red box represents the IGeoDataset extent

If a portion of the features were then deleted and the extent is again requested an envelope with the exact same extents as during the first request would be returned (see image below). This is because the deletion of features does not shrink the extent. However all additions of features outside the red box would increase the envelope returned to encompass the newly added features.

The red box represents the IGeoDataset extent after some of the features have been deleted

If you would like to update the IGeoDataset::Extent property to reflect the current features in your dataset please see IFeatureClassManage::UpdateExtent (also see IFeatureClassLoad). In the image below the extent has been updated and a new envelope is being returned.

The red box represents the IGeoDataset extent after it has been updated

ESRI's GroupLayer implements this property differently from most other layer coclasses. When you instantiate a new GroupLayer, this property will return a valid envelope with zero height and width. With most other newly instantiated layers (for example FeatureLayer, RasterLayer, TinLayer), this property initally returns Nothing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtent in interface IGeoDataset
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.

esri_getClass

public IObjectClass esri_getClass()
                           throws IOException,
                                  AutomationException
Object class related to the schematic object.

Product Availability

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

Specified by:
esri_getClass in interface ISchematicObject
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.

getSchematicObjectClass

public ISchematicObjectClass getSchematicObjectClass()
                                              throws IOException,
                                                     AutomationException
The schematic object class the schematic in memory object belongs to.

Product Availability

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

Specified by:
getSchematicObjectClass in interface ISchematicInMemoryObject
Returns:
A reference to a com.esri.arcgis.schematic.ISchematicObjectClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchematicInMemoryFeatureClasses

public IEnumSchematicInMemoryFeatureClass getSchematicInMemoryFeatureClasses()
                                                                      throws IOException,
                                                                             AutomationException
Enumeration of in memory feature classes.

Product Availability

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

Specified by:
getSchematicInMemoryFeatureClasses in interface ISchematicInMemoryFeatureClassContainer
Returns:
A reference to a com.esri.arcgis.schematic.IEnumSchematicInMemoryFeatureClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchematicInMemoryFeatureClass

public ISchematicInMemoryFeatureClass getSchematicInMemoryFeatureClass(ISchematicElementClass schematicElementClass)
                                                                throws IOException,
                                                                       AutomationException
Finds the in memory feature classes corresponding to a schematic element class.

Product Availability

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

Specified by:
getSchematicInMemoryFeatureClass in interface ISchematicInMemoryFeatureClassContainer
Parameters:
schematicElementClass - A reference to a com.esri.arcgis.schematic.ISchematicElementClass (in)
Returns:
A reference to a com.esri.arcgis.schematic.ISchematicInMemoryFeatureClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.