com.esri.arcgis.schematic
Class INgElementTypeProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.schematic.INgElementTypeProxy
All Implemented Interfaces:
INgElementType, Externalizable, Serializable

public class INgElementTypeProxy
extends com.esri.arcgis.interop.Dispatch
implements INgElementType, Serializable

Provides access to members that control the graphic element type.

Description

An element type holds the common properties of one element’s type in a project. The common properties of an element are stored and defined by the element type. Element types support parent–child relationships, allowing a child element type to inherit the parameters set for its parent. Typically, a parent element type may not be displayed in a diagram; only the child element types are displayed by associating them with a diagram type.

Generally, an element group is also associated with an element type. An element group is a set of elements that have the same graphic effects. When you create a new element type, you have to decide if your new element type will be associated with an element group or not. Even if you can redefine element types as a group at any time, this decision is important. It determines what you will afterward be authorized to define for your element type. When your element type is a group, you can define any graphic effects and create any property on it. If your element type is not a group, it is impossible. By default, if an element type inherits from another element type, and if it is not a group, it inherits the graphic effects and properties defined for the first of its ancestor element types, which is a group itself.


When you define an element type, you typically declare:

- The name of this element type,

- The type of the elements (node, link, drawing, sublink or node-on-link),

- Eventually, the name of its parent element type.

If you want to create an element type, you can use the ArcGIS Schematics Designer or call the CreateElementType method available from the INgProjectBuilder interface in your program code.


Your element type definition can be then completed by defining:

- The query returning all the elements of this element type,

- The fields used to build up each element identifier for this type,

- The attributes associated with this element type,

- The properties associated with this element type,

- The userdata associated with this element type.

All these characteristics can be defined through the ArcGIS Schematics Designer, or in your program code through the INgObjectType interface associated with your INgElementType interface.

Product Availability

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

See Also:
ISchematicElementClass, INgElement, Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  INgElementTypeProxy()
           
  INgElementTypeProxy(Object obj)
           
protected INgElementTypeProxy(Object obj, String iid)
           
 
Method Summary
 void addFlagModel(INgFlagModel flagModel, int mode)
          Associates the specified flag model with the element type.
 void addListener(String iidStr, Object theListener, Object theSource)
           
 void addPatternModel(INgPatternModel patternModel)
          Associates the specified pattern model with the element type.
 void associateProperty(INgProperty prop, String attributeName)
          Relates the specified property to the element type and associates this property with the attribute named 'attributeName'.
 void associateUserData(INgUserData userData, String attributeName)
          Relates the specified userdata to the element type and associates this userdata with the attribute named 'attributeName'.
 INgProperty createProperty(String name, int propertyType, int propertyValue, int effect)
          Creates the new property named 'name' for the element type.
 void delete(boolean deleteDescendants)
          Deletes the element type.
 void dissociateProperty(INgProperty prop)
          Deletes the association between the specified property and the element type.
 void dissociateUserData(INgUserData userData)
          Deletes the association between the specified userdata and the element type.
 INgElementTypes getAncestors()
          List of the ancestor element types for the element type.
 INgDiagramTypes getAssociatedDiagramTypes()
          List of the diagram types the element type is associated with.
 INgProperties getAssociatedProperties(String attributeName)
          List of properties related to the element type that are associated with the attribute named 'attributeName' or the list of all the properties related to the element type when no attribute name is specified.
 INgAttribute getAssociatedPropertyAttribute(String propertyName)
          Attribute associated with the property named 'propertyName' that is defined for the element type.
 INgAttribute getAssociatedUserDataAttribute(String userDataName)
          Attribute associated with the userdata named 'userdataName' that is defined for the element type.
 INgUserDatas getAssociatedUserDatas(String attributeName)
          List of userdata related to the element type that are associated with the attribute named 'attributeName' or the list of all the userdata related to the element type when no attribute name is specified.
 INgElementTypes getChildren()
          List of the child element types for the element type.
 INgElementTypes getDescendants()
          List of the descendant element types for the element type.
 Object getEffect(int effect)
          Returns the effect 'effect' set for the element type (see esriNgElementTypeEffect).
 INgElement getElement(String eltName)
          Returns the element named 'eltName' implemented by the element type.
 INgElementType getElementGroup()
          Element group related to the element type.
 INgElements getElements()
          List of the elements implemented by the element type.
 INgElements getElementsByUserData(INgUserDatas userDatas, INgValues values)
          Returns the list of the elements that are implemented by this element type and which each associated user-data in the 'userDatas' list verifies the 'values' list corresponding values.
 INgElementTypeEffects getElementTypeEffects()
          List of the effects set for the element type.
 INgFlagModel getFlagModel(String flagModelName)
          Returns the flag model named 'flagModelName' associated with the element type.
 INgFlagModels getFlagModels()
          List of flag models associated with the element type.
 String getName()
          Name of the element type.
 INgElementType getParent()
          Parent element type of the element type.
 INgPatternModel getPatternModel(String patternModelName)
          Returns the pattern model named 'patternModelName' associated with the element type.
 INgPatternModels getPatternModels()
          List of pattern models associated with the element type.
 Object getPoleEffect(String flagModelName, int effect)
          Returns the effect 'effect' set for the pole that connects the flags of the flag model named 'flagModelName' associated with the element type.
 INgProperties getProperties()
          List of the properties associated with the element type.
 INgProperty getProperty(String propertyName)
          Returns the property named 'propertyName' associated with the element type.
 Object getSubSymbolEffect(String subName, int effect)
          Returns the effect 'effect' set for the sub-symbol named 'subName' that represents the element type.
 int getType()
          Type of the element type (see esriNgElementTypeEnum).
 boolean isEffectSet(int effect)
          Indicates if the effect 'effect' related to the element type is set (see esriNgElementTypeEffect).
 boolean isElementGroup()
          Indicates if the element type is associated with an element group.
 boolean isPoleEffectSet(String flagModelName, int effect)
          Indicates if the effect 'effect' related to the pole that connects the flags of the flag model named 'flagModelName' associated with the element type is set.
 boolean isSubSymbolEffectSet(String subName, int effect)
          Indicates if the effect 'effect' related to the sub-symbol named 'subName' that represents the element type is set.
 void readExternal(ObjectInput in)
           
 void removeEffect(int effect)
          Removes the effect or restores the effect 'effect' set for the element type (see esriNgElementTypeEffect).
 void removeFlagModel(INgFlagModel flagModel)
          Removes the association between the specified flag model and the element type.
 void removeListener(String iidStr, Object theListener)
           
 void removePatternModel(INgPatternModel patternModel)
          Removes the association between the specified pattern model and the element type.
 void removePoleEffect(String flagModelName, int effect)
          Removes the effect or restores the default effect 'effect' for the pole that connects the flags of the flag model named 'flagModelName' associated with the element type.
 void removeSubSymbolEffect(String subName, int effect)
          Removes the effect 'effect' set for the sub-symbol named 'subName' that represents the element type.
 void setEffect(int effect, Object effValue)
          Modifies the effect 'effect' set for the element type (see esriNgElementTypeEffect).
 void setIsElementGroup(boolean pVal)
          Indicates if the element type is associated with an element group.
 void setName(String pVal)
          Name of the element type.
 void setParent(INgElementType pVal)
          Parent element type of the element type.
 void setPoleEffect(String flagModelName, int effect, Object effValue)
          Modifies the effect 'effect' set for the pole that connects the flags of the flag model named 'flagModelName' associated with the element type.
 void setSubSymbolEffect(String subName, int effect, Object effValue)
          Modifies the effect 'effect' set for the sub-symbol named 'subName' that represents the element type.
 void writeExternal(ObjectOutput out)
           
 
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
 

Constructor Detail

INgElementTypeProxy

public INgElementTypeProxy()

INgElementTypeProxy

public INgElementTypeProxy(Object obj)
                    throws IOException
Throws:
IOException

INgElementTypeProxy

protected INgElementTypeProxy(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 com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

getName

public String getName()
               throws IOException,
                      AutomationException
Name of the element type.

Description

This name is defined when the element type is created
- either by calling the INgProjectBuilder CreateElementType method in the program code,
- or through ArcGIS Schematics Designer, when the parameters for the element type has been specified.

Product Availability

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

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

setName

public void setName(String pVal)
             throws IOException,
                    AutomationException
Name of the element type.

Product Availability

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

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

getElements

public INgElements getElements()
                        throws IOException,
                               AutomationException
List of the elements implemented by the element type.

Product Availability

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

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

getProperties

public INgProperties getProperties()
                            throws IOException,
                                   AutomationException
List of the properties associated with the element type.

Description

All properties defined at the element type level are returned, those that are in relation with an attribute as those that have no related attribute. If the element type is not a group and inherits from another element type, the Properties list also contains all the inherited properties. Even if the element type inherits from another element type, if the element type is a group, the Properties list only contains the properties defined for the element type.

Product Availability

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

Specified by:
getProperties in interface INgElementType
Returns:
A reference to a com.esri.arcgis.schematic.INgProperties
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getAssociatedProperties(String)

getProperty

public INgProperty getProperty(String propertyName)
                        throws IOException,
                               AutomationException
Returns the property named 'propertyName' associated with the element type.

Product Availability

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

Specified by:
getProperty in interface INgElementType
Parameters:
propertyName - The propertyName (in)
Returns:
A reference to a com.esri.arcgis.schematic.INgProperty
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getProperties(), INgElementType

getElement

public INgElement getElement(String eltName)
                      throws IOException,
                             AutomationException
Returns the element named 'eltName' implemented by the element type.

Product Availability

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

Specified by:
getElement in interface INgElementType
Parameters:
eltName - The eltName (in)
Returns:
A reference to a com.esri.arcgis.schematic.INgElement
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgDiagram.getNode(String), INgDiagram.getLink(String), INgDiagram.getDrawing(String), INgElementType.getElements()

getEffect

public Object getEffect(int effect)
                 throws IOException,
                        AutomationException
Returns the effect 'effect' set for the element type (see esriNgElementTypeEffect).

Description

If the IsElementGroup property returns False and the ElementGroup property is defined (that is if the element type is not a group but inherits from an ancestor element type group), calling the GetEffect method on the current element type will return the effects defined for this ElementGroup (that is, for this ancestor element type group).

Product Availability

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

Specified by:
getEffect in interface INgElementType
Parameters:
effect - A com.esri.arcgis.schematic.esriNgElementTypeEffect constant (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.isEffectSet(int), INgElementType.setEffect(int, java.lang.Object), INgElementType.removeEffect(int)

setEffect

public void setEffect(int effect,
                      Object effValue)
               throws IOException,
                      AutomationException
Modifies the effect 'effect' set for the element type (see esriNgElementTypeEffect).

Description

If the IsElementGroup property returns False

- Either the ElementGroup property is defined (that is, the element type inherits from another element type that is a group) and using the SetEffect method for the current element type will set the given effect for the ElementGroup element type (that is, for the ancestor element type that is a group)

- Or the ElementGroup associated property is not defined, and in this case, the IsElementGroup property must be set to True before calling the SetEffect method.

Product Availability

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

Specified by:
setEffect in interface INgElementType
Parameters:
effect - A com.esri.arcgis.schematic.esriNgElementTypeEffect constant (in)
effValue - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getEffect(int), INgElementType.isEffectSet(int), INgElementType.removeEffect(int)

removeEffect

public void removeEffect(int effect)
                  throws IOException,
                         AutomationException
Removes the effect or restores the effect 'effect' set for the element type (see esriNgElementTypeEffect).

Description

Suppose for the considered element type, the IsElementGroup property returns False and the ElementGroup property is defined; that is, the element type is not a group but inherits from an ancestor element type group. In this case, when calling the RemoveEffect method on the current element type, the effect will be removed for the element type ElementGroup; that is, for this ancestor element type group.

Reminder: Removing an effect that is always set, returns the element type's effect to the default effect value and removing an effect that is not set by default, really removes the element type's effect.

Product Availability

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

Specified by:
removeEffect in interface INgElementType
Parameters:
effect - A com.esri.arcgis.schematic.esriNgElementTypeEffect constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getEffect(int), INgElementType.isEffectSet(int), INgElementType.setEffect(int, java.lang.Object)

isEffectSet

public boolean isEffectSet(int effect)
                    throws IOException,
                           AutomationException
Indicates if the effect 'effect' related to the element type is set (see esriNgElementTypeEffect).

Description

By default, Schematics automatically sets default values for some element type effects (see the List of default element type effect values, below). For all these effects, the IsEffectSet method returns True.

For the others effects (those that are not automatically set by default), the IsEffectSet method returns True only if the effect has been set:

- Either through ArcGIS Schematics Designer when defining the graphical effects for the current element type itself (when the element type is a group) or for one of its ancestor element type which is a group itself (when the element type is not a group).

- Or, by calling the INgElementType SetEffect method in the project code.


List of default element type's effect values

esriNgElementTypeDetectability: esriNgDetectable.

esriNgElementTypeHighlightedState: esriNgNotHighlighted

esriNgElementTypeLegendVisibility: esriNgVisible

esriNgElementTypeLegendNote: nothing. Even if, by default, Schematics displays the element type name.

esriNgElementTypeMobility: esriNgMovable.

esriNgElementTypePriority: 201 or more for a node type, 101 or more for a link type, 1 or more for a drawing type

esriNgElementTypeResizability: esriNgResizable if Type = esriNgElementNode or esriNgElementDrawing; esriNgUnresizable if Type = esriNgElementLink

esriNgElementTypeSelectability: esriNgSelectable

esriNgElementTypeVisibility: esriNgVisible


For more details, see Element Type Effects Constants Definition.

Product Availability

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

Specified by:
isEffectSet in interface INgElementType
Parameters:
effect - A com.esri.arcgis.schematic.esriNgElementTypeEffect constant (in)
Returns:
The isSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getEffect(int), INgElementType.setEffect(int, java.lang.Object), INgElementType.removeEffect(int)

getParent

public INgElementType getParent()
                         throws IOException,
                                AutomationException
Parent element type of the element type.

Product Availability

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

Specified by:
getParent in interface INgElementType
Returns:
A reference to a com.esri.arcgis.schematic.INgElementType
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getChildren(), INgElementType.getAncestors(), INgElementType.getDescendants()

setParent

public void setParent(INgElementType pVal)
               throws IOException,
                      AutomationException
Parent element type of the element type.

Product Availability

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

Specified by:
setParent in interface INgElementType
Parameters:
pVal - A reference to a com.esri.arcgis.schematic.INgElementType (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAncestors

public INgElementTypes getAncestors()
                             throws IOException,
                                    AutomationException
List of the ancestor element types for the element type.

Description

Note that the element type ancestors list is returned in ascending hierarchy order, that is from the parent to the most distant ancestor.

Remarks

The Ancestors collection is returned in ascending hierarchy order; that is from the parent to the most distant ancestor.

Product Availability

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

Specified by:
getAncestors in interface INgElementType
Returns:
A reference to a com.esri.arcgis.schematic.INgElementTypes
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getChildren(), INgElementType.getParent(), INgElementType.getDescendants()

getChildren

public INgElementTypes getChildren()
                            throws IOException,
                                   AutomationException
List of the child element types for the element type.

Product Availability

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

Specified by:
getChildren in interface INgElementType
Returns:
A reference to a com.esri.arcgis.schematic.INgElementTypes
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getParent(), INgElementType.getAncestors(), INgElementType.getDescendants()

getDescendants

public INgElementTypes getDescendants()
                               throws IOException,
                                      AutomationException
List of the descendant element types for the element type.

Product Availability

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

Specified by:
getDescendants in interface INgElementType
Returns:
A reference to a com.esri.arcgis.schematic.INgElementTypes
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getChildren(), INgElementType.getParent(), INgElementType.getAncestors()

getType

public int getType()
            throws IOException,
                   AutomationException
Type of the element type (see esriNgElementTypeEnum).

Product Availability

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

Specified by:
getType in interface INgElementType
Returns:
A com.esri.arcgis.schematic.esriNgElementTypeEnum constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAssociatedDiagramTypes

public INgDiagramTypes getAssociatedDiagramTypes()
                                          throws IOException,
                                                 AutomationException
List of the diagram types the element type is associated with.

Product Availability

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

Specified by:
getAssociatedDiagramTypes in interface INgElementType
Returns:
A reference to a com.esri.arcgis.schematic.INgDiagramTypes
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgDiagramType.associateElementType(com.esri.arcgis.schematic.INgElementType)

createProperty

public INgProperty createProperty(String name,
                                  int propertyType,
                                  int propertyValue,
                                  int effect)
                           throws IOException,
                                  AutomationException
Creates the new property named 'name' for the element type. The 'propertyType' parameter specifies the property type and the 'propertyValue' parameter specifies the type of property value.

Description

If the property is a direct property, the default graphic effect associated with the property is esriNgDirectPropertySymbolName.

Product Availability

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

Specified by:
createProperty in interface INgElementType
Parameters:
name - The name (in)
propertyType - A com.esri.arcgis.schematic.esriNgPropertyType constant (in)
propertyValue - A com.esri.arcgis.schematic.esriNgValueType constant (in)
effect - A com.esri.arcgis.schematic.esriNgDirectPropertyEffect constant (in, optional, pass 1021 if not required)
Returns:
A reference to a com.esri.arcgis.schematic.INgProperty
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgDiscreteProperty.addFilter(int, String, java.lang.Object), INgBoundedProperty.addFilter(int, String, java.lang.Object, java.lang.Object)

getFlagModels

public INgFlagModels getFlagModels()
                            throws IOException,
                                   AutomationException
List of flag models associated with the element type.

Product Availability

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

Specified by:
getFlagModels in interface INgElementType
Returns:
A reference to a com.esri.arcgis.schematic.INgFlagModels
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getFlagModel(String)

getPatternModels

public INgPatternModels getPatternModels()
                                  throws IOException,
                                         AutomationException
List of pattern models associated with the element type.

Remarks

With old ArcGIS Schematics versions, no more than one pattern model could be associated with a link element type. Since the 2.3 version, several pattern models can be associated with the same link element type.

Product Availability

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

Specified by:
getPatternModels in interface INgElementType
Returns:
A reference to a com.esri.arcgis.schematic.INgPatternModels
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getPatternModel(String)

getPatternModel

public INgPatternModel getPatternModel(String patternModelName)
                                throws IOException,
                                       AutomationException
Returns the pattern model named 'patternModelName' associated with the element type.

Product Availability

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

Specified by:
getPatternModel in interface INgElementType
Parameters:
patternModelName - The patternModelName (in)
Returns:
A reference to a com.esri.arcgis.schematic.INgPatternModel
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFlagModel

public INgFlagModel getFlagModel(String flagModelName)
                          throws IOException,
                                 AutomationException
Returns the flag model named 'flagModelName' associated with the element type.

Product Availability

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

Specified by:
getFlagModel in interface INgElementType
Parameters:
flagModelName - The flagModelName (in)
Returns:
A reference to a com.esri.arcgis.schematic.INgFlagModel
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addFlagModel

public void addFlagModel(INgFlagModel flagModel,
                         int mode)
                  throws IOException,
                         AutomationException
Associates the specified flag model with the element type. The optional 'mode' parameter specifies the connection mode for the flag pole. Its default value is 'esriNgStandard'.

Description

Associating a flag model with an element type implies that all the element of this element type will be displayed with a flag based on this flag model. If all you want to do is attach a flag for only one given element, you can use the INgElement CreateFlag method.

Product Availability

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

Specified by:
addFlagModel in interface INgElementType
Parameters:
flagModel - A reference to a com.esri.arcgis.schematic.INgFlagModel (in)
mode - A com.esri.arcgis.schematic.esriNgFlagAttachementMode constant (in, optional, pass 2056 if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.removeFlagModel(com.esri.arcgis.schematic.INgFlagModel), INgElementType.getFlagModel(String)

removeFlagModel

public void removeFlagModel(INgFlagModel flagModel)
                     throws IOException,
                            AutomationException
Removes the association between the specified flag model and the element type.

Product Availability

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

Specified by:
removeFlagModel in interface INgElementType
Parameters:
flagModel - A reference to a com.esri.arcgis.schematic.INgFlagModel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.addFlagModel(com.esri.arcgis.schematic.INgFlagModel, int), INgElementType.getFlagModel(String)

addPatternModel

public void addPatternModel(INgPatternModel patternModel)
                     throws IOException,
                            AutomationException
Associates the specified pattern model with the element type.

Description

Associating a pattern model with an element type implies that all the elements of this element type will be displayed with a pattern based on this pattern model. If all you want to do is add a pattern for only one given link element, you can use the INgLink AddPatternModel method.

Product Availability

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

Specified by:
addPatternModel in interface INgElementType
Parameters:
patternModel - A reference to a com.esri.arcgis.schematic.INgPatternModel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getPatternModel(String), INgLink.addPatternModel(com.esri.arcgis.schematic.INgPatternModel), INgElementType.removePatternModel(com.esri.arcgis.schematic.INgPatternModel)

removePatternModel

public void removePatternModel(INgPatternModel patternModel)
                        throws IOException,
                               AutomationException
Removes the association between the specified pattern model and the element type.

Product Availability

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

Specified by:
removePatternModel in interface INgElementType
Parameters:
patternModel - A reference to a com.esri.arcgis.schematic.INgPatternModel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getPatternModel(String), INgElementType.addPatternModel(com.esri.arcgis.schematic.INgPatternModel)

associateProperty

public void associateProperty(INgProperty prop,
                              String attributeName)
                       throws IOException,
                              AutomationException
Relates the specified property to the element type and associates this property with the attribute named 'attributeName'.

Product Availability

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

Specified by:
associateProperty in interface INgElementType
Parameters:
prop - A reference to a com.esri.arcgis.schematic.INgProperty (in)
attributeName - The attributeName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.dissociateProperty(com.esri.arcgis.schematic.INgProperty), INgElementType.associateUserData(com.esri.arcgis.schematic.INgUserData, String)

associateUserData

public void associateUserData(INgUserData userData,
                              String attributeName)
                       throws IOException,
                              AutomationException
Relates the specified userdata to the element type and associates this userdata with the attribute named 'attributeName'.

Product Availability

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

Specified by:
associateUserData in interface INgElementType
Parameters:
userData - A reference to a com.esri.arcgis.schematic.INgUserData (in)
attributeName - The attributeName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.associateProperty(com.esri.arcgis.schematic.INgProperty, String), INgElementType.dissociateUserData(com.esri.arcgis.schematic.INgUserData)

getAssociatedProperties

public INgProperties getAssociatedProperties(String attributeName)
                                      throws IOException,
                                             AutomationException
List of properties related to the element type that are associated with the attribute named 'attributeName' or the list of all the properties related to the element type when no attribute name is specified.

Product Availability

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

Specified by:
getAssociatedProperties in interface INgElementType
Parameters:
attributeName - The attributeName (in, optional, pass if not required)
Returns:
A reference to a com.esri.arcgis.schematic.INgProperties
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAssociatedUserDatas

public INgUserDatas getAssociatedUserDatas(String attributeName)
                                    throws IOException,
                                           AutomationException
List of userdata related to the element type that are associated with the attribute named 'attributeName' or the list of all the userdata related to the element type when no attribute name is specified.

Product Availability

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

Specified by:
getAssociatedUserDatas in interface INgElementType
Parameters:
attributeName - The attributeName (in, optional, pass if not required)
Returns:
A reference to a com.esri.arcgis.schematic.INgUserDatas
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

dissociateProperty

public void dissociateProperty(INgProperty prop)
                        throws IOException,
                               AutomationException
Deletes the association between the specified property and the element type.

Product Availability

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

Specified by:
dissociateProperty in interface INgElementType
Parameters:
prop - A reference to a com.esri.arcgis.schematic.INgProperty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.associateProperty(com.esri.arcgis.schematic.INgProperty, String), INgElementType.dissociateUserData(com.esri.arcgis.schematic.INgUserData)

dissociateUserData

public void dissociateUserData(INgUserData userData)
                        throws IOException,
                               AutomationException
Deletes the association between the specified userdata and the element type.

Product Availability

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

Specified by:
dissociateUserData in interface INgElementType
Parameters:
userData - A reference to a com.esri.arcgis.schematic.INgUserData (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.associateUserData(com.esri.arcgis.schematic.INgUserData, String)

getElementGroup

public INgElementType getElementGroup()
                               throws IOException,
                                      AutomationException
Element group related to the element type. It is the current element type itself or one of its ancestor element types.

Product Availability

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

Specified by:
getElementGroup in interface INgElementType
Returns:
A reference to a com.esri.arcgis.schematic.INgElementType
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.isElementGroup()

getAssociatedPropertyAttribute

public INgAttribute getAssociatedPropertyAttribute(String propertyName)
                                            throws IOException,
                                                   AutomationException
Attribute associated with the property named 'propertyName' that is defined for the element type.

Product Availability

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

Specified by:
getAssociatedPropertyAttribute in interface INgElementType
Parameters:
propertyName - The propertyName (in)
Returns:
A reference to a com.esri.arcgis.schematic.INgAttribute
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAssociatedUserDataAttribute

public INgAttribute getAssociatedUserDataAttribute(String userDataName)
                                            throws IOException,
                                                   AutomationException
Attribute associated with the userdata named 'userdataName' that is defined for the element type.

Product Availability

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

Specified by:
getAssociatedUserDataAttribute in interface INgElementType
Parameters:
userDataName - The userDataName (in)
Returns:
A reference to a com.esri.arcgis.schematic.INgAttribute
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

delete

public void delete(boolean deleteDescendants)
            throws IOException,
                   AutomationException
Deletes the element type. When setting the 'deleteDescendants' parameter to TRUE, all the element types that inherit from this element type are also deleted.

Description

Note that the True value is the value set by default.

Product Availability

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

Specified by:
delete in interface INgElementType
Parameters:
deleteDescendants - The deleteDescendants (in, optional, pass true if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isElementGroup

public boolean isElementGroup()
                       throws IOException,
                              AutomationException
Indicates if the element type is associated with an element group.

Description

If the IsElementGroup property returns TRUE, the element type ElementGroup property returns the current element type itself. If it returns FALSE, the ElementGroup property returns the first of its ancestor element types which is a group.

Product Availability

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

Specified by:
isElementGroup in interface INgElementType
Returns:
The pVal
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.getElementGroup()

setIsElementGroup

public void setIsElementGroup(boolean pVal)
                       throws IOException,
                              AutomationException
Indicates if the element type is associated with an element group.

Product Availability

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

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

getSubSymbolEffect

public Object getSubSymbolEffect(String subName,
                                 int effect)
                          throws IOException,
                                 AutomationException
Returns the effect 'effect' set for the sub-symbol named 'subName' that represents the element type.

Description

Sub-symbols effects can be set:

- Either through ArcGIS Schematics Designer, when defining the graphic effects for the element type itself (when the element type is a group) or for one of its element type ancestors which is a group itself (when the element type is not a group),

- Or, by calling the INgElementType SetSubSymbolEffect method in the project code.

Product Availability

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

Specified by:
getSubSymbolEffect in interface INgElementType
Parameters:
subName - The subName (in)
effect - A com.esri.arcgis.schematic.esriNgSubSymbolEffect constant (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.removeSubSymbolEffect(String, int), INgElementType.isSubSymbolEffectSet(String, int)

isSubSymbolEffectSet

public boolean isSubSymbolEffectSet(String subName,
                                    int effect)
                             throws IOException,
                                    AutomationException
Indicates if the effect 'effect' related to the sub-symbol named 'subName' that represents the element type is set.

Description

Sub-symbols effects can be set:

- Either through ArcGIS Schematics Designer, when defining the graphic effects for the element type itself (when the element type is a group) or for one of its element type ancestors which is a group itself (when the element type is not a group),

- Or, by calling the INgElementType SetSubSymbolEffect method in the project code.

Product Availability

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

Specified by:
isSubSymbolEffectSet in interface INgElementType
Parameters:
subName - The subName (in)
effect - A com.esri.arcgis.schematic.esriNgSubSymbolEffect constant (in)
Returns:
The isSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.removeSubSymbolEffect(String, int), INgElementType.getSubSymbolEffect(String, int)

getElementTypeEffects

public INgElementTypeEffects getElementTypeEffects()
                                            throws IOException,
                                                   AutomationException
List of the effects set for the element type.

Description

The returned effects are either all the effects set for the current element type itself, when the element type is a group, or the effects set for its first ancestor element type, the latter being itself a group, if this element type inherits from another element type.

Note that if this property returns all the element type effects, you can get a specific effect by using the GetEffect method.

Product Availability

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

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

removeSubSymbolEffect

public void removeSubSymbolEffect(String subName,
                                  int effect)
                           throws IOException,
                                  AutomationException
Removes the effect 'effect' set for the sub-symbol named 'subName' that represents the element type.

Product Availability

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

Specified by:
removeSubSymbolEffect in interface INgElementType
Parameters:
subName - The subName (in)
effect - A com.esri.arcgis.schematic.esriNgSubSymbolEffect constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.isSubSymbolEffectSet(String, int), INgElementType.getSubSymbolEffect(String, int)

setSubSymbolEffect

public void setSubSymbolEffect(String subName,
                               int effect,
                               Object effValue)
                        throws IOException,
                               AutomationException
Modifies the effect 'effect' set for the sub-symbol named 'subName' that represents the element type.

Product Availability

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

Specified by:
setSubSymbolEffect in interface INgElementType
Parameters:
subName - The subName (in)
effect - A com.esri.arcgis.schematic.esriNgSubSymbolEffect constant (in)
effValue - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.removeSubSymbolEffect(String, int), INgElementType.isSubSymbolEffectSet(String, int)

setPoleEffect

public void setPoleEffect(String flagModelName,
                          int effect,
                          Object effValue)
                   throws IOException,
                          AutomationException
Modifies the effect 'effect' set for the pole that connects the flags of the flag model named 'flagModelName' associated with the element type.

Product Availability

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

Specified by:
setPoleEffect in interface INgElementType
Parameters:
flagModelName - The flagModelName (in)
effect - A com.esri.arcgis.schematic.esriNgPoleEffect constant (in)
effValue - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.removePoleEffect(String, int), INgElementType.isPoleEffectSet(String, int), INgElementType.getPoleEffect(String, int)

getPoleEffect

public Object getPoleEffect(String flagModelName,
                            int effect)
                     throws IOException,
                            AutomationException
Returns the effect 'effect' set for the pole that connects the flags of the flag model named 'flagModelName' associated with the element type.

Product Availability

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

Specified by:
getPoleEffect in interface INgElementType
Parameters:
flagModelName - The flagModelName (in)
effect - A com.esri.arcgis.schematic.esriNgPoleEffect constant (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.removePoleEffect(String, int), INgElementType.isPoleEffectSet(String, int), INgElementType.setPoleEffect(String, int, java.lang.Object)

isPoleEffectSet

public boolean isPoleEffectSet(String flagModelName,
                               int effect)
                        throws IOException,
                               AutomationException
Indicates if the effect 'effect' related to the pole that connects the flags of the flag model named 'flagModelName' associated with the element type is set.

Description

By default, Schematics automatically sets default values for some pole effects (see the List of default pole effect values, below). For all these effects, the IsPoleEffectSet method returns True.

For the other effects (those that are not automatically set by default), the IsPoleEffectSet method returns True only if the effect has been set:

- Either through ArcGIS Schematics Designer when defining the pole's characteristics

- Or, by calling the INgElementType SetPoleEffect method in the project code.


List of the default pole effect values

esriNgPoleDetectability: esriNgDetectable

esriNgPoleHighlightedState: esriNgNotHighlighted

esriNgPolePriority: 50 or more

esriNgPoleSelectability: esriNgSelectable

esriNgPoleVisibility: esriNgVisible

Product Availability

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

Specified by:
isPoleEffectSet in interface INgElementType
Parameters:
flagModelName - The flagModelName (in)
effect - A com.esri.arcgis.schematic.esriNgPoleEffect constant (in)
Returns:
The isSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.removePoleEffect(String, int), INgElementType.getPoleEffect(String, int), INgElementType.setPoleEffect(String, int, java.lang.Object)

removePoleEffect

public void removePoleEffect(String flagModelName,
                             int effect)
                      throws IOException,
                             AutomationException
Removes the effect or restores the default effect 'effect' for the pole that connects the flags of the flag model named 'flagModelName' associated with the element type.

Description

Note that removing an effect that is always set, returns the effect to its default value. And removing an effect that is not set by default actually removes the effect: the effect is not set any more!

Product Availability

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

Specified by:
removePoleEffect in interface INgElementType
Parameters:
flagModelName - The flagModelName (in)
effect - A com.esri.arcgis.schematic.esriNgPoleEffect constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgElementType.isPoleEffectSet(String, int), INgElementType.getPoleEffect(String, int), INgElementType.setPoleEffect(String, int, java.lang.Object)

getElementsByUserData

public INgElements getElementsByUserData(INgUserDatas userDatas,
                                         INgValues values)
                                  throws IOException,
                                         AutomationException
Returns the list of the elements that are implemented by this element type and which each associated user-data in the 'userDatas' list verifies the 'values' list corresponding values.

Product Availability

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

Specified by:
getElementsByUserData in interface INgElementType
Parameters:
userDatas - A reference to a com.esri.arcgis.schematic.INgUserDatas (in)
values - A reference to a com.esri.arcgis.schematic.INgValues (in)
Returns:
A reference to a com.esri.arcgis.schematic.INgElements
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgDiagram.getElementsByUserData(com.esri.arcgis.schematic.INgUserDatas, com.esri.arcgis.schematic.INgValues, com.esri.arcgis.schematic.INgElementType)

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException
ClassNotFoundException