## org.opengis.feature.type
Interface OperationDescriptor

All Superinterfaces:
  PropertyDescriptor

    public interface OperationDescriptor

extends PropertyDescriptor

Indicating an implementation of an operation for a specific type.

This class carries the ComplexType specific information requried for using an operation. Name, type and evaulation are defined.

Please see the description of OperationType for more guidelines on capturing operations for use with your model.

Method Summary
`Name` `getName()` Indicates Name of defined operation in a ComplexType, this method may never return a null value.
`OperationType` `getType()` Indicates the OpperationType of this attribute
`Object` `invoke(Attribute target, Object[] params)` Call the operation with an attribtue and a set of parameters.
`boolean` `isImplemented()` Indicates if invoke may be called.

Methods inherited from interface PropertyDescriptor
`getUserData, putUserData, type`

Method Detail

### getType

    OperationType getType()

  Indicates the OpperationType of this attribute

### getName

    Name getName()

  Indicates Name of defined operation in a ComplexType, this method may never return a null value.

  Specified by:
    `getName` in interface `PropertyDescriptor`

### isImplemented

    boolean isImplemented()

  Indicates if invoke may be called.

  In order allow for faithful modeling of a software system we will need construct models dynamically at runtime, possibly when no implementation has been discouvered for the required operations. (for example we may be modeling a schema where the operations are only available when the information is executed on a remote web processing service. We still need to track the operations, even those we cannot execute them in the current environment.

  Returns:
    true if invoke may be called.

### invoke

    Object invoke(Attribute target,
                  Object[] params)
                  throws InvocationTargetException

  Call the operation with an attribtue and a set of parameters.

  The state of the operation may be used and / or updated during the execution of the operation.

  Please check to ensure that isImplemented returns `true` before calling invoke.

  Parameters:
    `target` - This is the attribute used for context when evaulating the operation, the target may have it's state changed over the course of executation
    `params` - Parameters used to execute the opperation
  Returns:
    the result of the operation
  Throws:
    `InvoationTargetException` - if an error occured while processing
    `InvocationTargetException`

Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.