com.esri.arcgis.geodatabase
Class INetSchemaEditProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.geodatabase.INetSchemaProxy
          extended by com.esri.arcgis.geodatabase.INetSchemaEditProxy
All Implemented Interfaces:
INetSchema, INetSchemaEdit, Externalizable, Serializable

public class INetSchemaEditProxy
extends INetSchemaProxy
implements INetSchemaEdit, Serializable

Provides access to members that modify the schema of the network.

Remarks

Adding Element Classes
The AddElementClass method should only be used for adding element classes to a stand-alone logical network.
Adding Weights
Weights can be added to a network but you do not have the ability to remove weights once they have been added.
See the help for the INetWeightEdit interface to learn how to create a NetWeight object.

When To Use

Use the INetSchemaEdit interface when you want to make changes to your network schema. For example, you can add a new weight and weight association to your network.
This interface is designed specifically for the editing of a stand-alone logical network, which does not have an associated geometric network. It is imperative that if you have a geometric network, the logical network must be edited through its associated geometric network. You risk data corruption if you use the INetSchemaEdit interface on logical networks that have an associated geometric network. For building the schema of a new geometric network, use the Build Geometric Network Wizard or the NetworkLoader object.
Changes in schema must be made when the network has no topology. When you create a new logical network, the schema should be set up first, before any topology is added to the network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
INetWeightEdit, INetWeightAssociation, INetWeightAssociationEdit, INetSchemaEdit, INetSchema, INetWeight, Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  INetSchemaEditProxy()
           
  INetSchemaEditProxy(Object obj)
           
protected INetSchemaEditProxy(Object obj, String iid)
           
 
Method Summary
 INetElementClass addElementClass(int userClassID)
          Adds a new element class to the network.
 void addListener(String iidStr, Object theListener, Object theSource)
           
 void addWeight(INetWeight networkWeight)
          Adds a new weight to the network.
 void addWeightAssociation(INetWeightAssociation weightSource)
          Adds a new weight association to the network.
 void putAncillaryRole(int userClassID, int ancillaryRole, String ancillaryRoleFieldName)
          Sets the ancillary role type and the name of the field containing the ancillary role information for the specified user class.
 void putEnabledDisabledFieldName(int userClassID, String enabledDisabledRoleFieldName)
          Sets the name of the field containing the enabled/disabled information for the specified user class.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.geodatabase.INetSchemaProxy
getAncillaryRole, getElementClass, getElementClassByUserID, getElementClassCount, getEnabledDisabledFieldName, getWeight, getWeightAssociations, getWeightAssociationsByTableName, getWeightByName, getWeightCount
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.geodatabase.INetSchema
getAncillaryRole, getElementClass, getElementClassByUserID, getElementClassCount, getEnabledDisabledFieldName, getWeight, getWeightAssociations, getWeightAssociationsByTableName, getWeightByName, getWeightCount
 

Constructor Detail

INetSchemaEditProxy

public INetSchemaEditProxy()

INetSchemaEditProxy

public INetSchemaEditProxy(Object obj)
                    throws IOException
Throws:
IOException

INetSchemaEditProxy

protected INetSchemaEditProxy(Object obj,
                              String iid)
                       throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class INetSchemaProxy
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class INetSchemaProxy
Throws:
IOException

addElementClass

public INetElementClass addElementClass(int userClassID)
                                 throws IOException,
                                        AutomationException
Adds a new element class to the network.

Remarks

AddElementClass adds a new element class to the network. Use this method only to add a new class to a newly created stand-alone logical network that does not have any topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

addWeight

public void addWeight(INetWeight networkWeight)
               throws IOException,
                      AutomationException
Adds a new weight to the network.

Remarks

AddWeight will add a new weight to the network. A weight is used to qualify traces through the features in a network. Add a weight to your network when you want tracing to be based on attributes values of the features in the network.

Only use this method to add a weight to a newly created stand-alone logical network that does not have any topology.

See the help for the INetWeightEdit interface to learn how to create a NetWeight object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

addWeightAssociation

public void addWeightAssociation(INetWeightAssociation weightSource)
                          throws IOException,
                                 AutomationException
Adds a new weight association to the network.

Remarks

AddWeightAssocation is used to add a new weight association to a weight already defined on the network. A weight is defined by its name, type, and set of weight associations. The weight associations define the table name and field name that participate in the weight. Multiple table name and field name combinations (weight associations) can participate within a single weight.

Only use this method on newly created stand-alone logical networks that do not have any topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

putAncillaryRole

public void putAncillaryRole(int userClassID,
                             int ancillaryRole,
                             String ancillaryRoleFieldName)
                      throws IOException,
                             AutomationException
Sets the ancillary role type and the name of the field containing the ancillary role information for the specified user class.

Remarks

PutAncillaryRole adds a new ancillary role description to the network. An ancillary role is a source of sink for the network. In order to have sources and sinks in your network, you need to define the user class that will contain the features, and the field name that will specify whether the feature is a source, sink, or neither. PutAncillaryRole applies this definition to the network.

Only use this method on newly created stand-alone logical networks that do not have any topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
putAncillaryRole in interface INetSchemaEdit
Parameters:
userClassID - The userClassID (in)
ancillaryRole - A com.esri.arcgis.geodatabase.esriNetworkClassAncillaryRole constant (in)
ancillaryRoleFieldName - The ancillaryRoleFieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putEnabledDisabledFieldName

public void putEnabledDisabledFieldName(int userClassID,
                                        String enabledDisabledRoleFieldName)
                                 throws IOException,
                                        AutomationException
Sets the name of the field containing the enabled/disabled information for the specified user class.

Remarks

PutEnabledDisabledFieldName will define the field name within the specified user class to use for tracking whether a feature is enabled or disabled. Enabled or disabled refers to the ability or inability to trace through a feature.

Only use this method on newly created stand-alone logical networks that do not have any topology.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
putEnabledDisabledFieldName in interface INetSchemaEdit
Parameters:
userClassID - The userClassID (in)
enabledDisabledRoleFieldName - The enabledDisabledRoleFieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class INetSchemaProxy
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class INetSchemaProxy
Throws:
IOException
ClassNotFoundException