/*$************************************************************************************************ ** ** $Id: ** ** $URL: https://geoapi.svn.sourceforge.net/svnroot/geoapi/trunk/geoapi/src/main/java/org/opengis/services/Interface.java $ ** ** Copyright (C) 2004-2005 Open GIS Consortium, Inc. ** All Rights Reserved. http://www.opengis.org/legal/ ** *************************************************************************************************/ package org.opengis.feature.catalog; import java.util.List; import org.opengis.annotation.UML; import static org.opengis.annotation.Obligation.*; import static org.opengis.annotation.Specification.*; /** * Operation that every instance of an associated feature type must implement. * * * @author Guilhem Legal * @module */ //@UML(identifier="FC_FeatureOperation", specification=ISO_19110) public interface FeatureOperation extends PropertyType { /** * Name and parameters for this operation. It may contains optional returned parameters. * This signature is usually derived from the formal definition. * The signature of an operation must be unique. This is the equivalent of the UML signature. */ //@UML(identifier="signature", obligation=MANDATORY, specification=ISO_19110) String getSignature(); /** * Formal description of the behaviour of the member, expressed in the symbol set defined by FC_FeatureCatalogue::functionalLanguage; * Involve operationnal parameters, and interactions with other members of the feature type. */ //@UML(identifier="formalDefinition", obligation=OPTIONAL, specification=ISO_19110) String getFormalDefinition(); /** * Specifies attribute which may trigger an operation. */ //@UML(identifier="triggeredByValuesOf", obligation=OPTIONAL, specification=ISO_19110) List<BoundFeatureAttribute> getTriggeredByValuesOf(); /** * Specifies attribute that may be used as input to perform an operation. */ //@UML(identifier="observesValuesOf", obligation=OPTIONAL, specification=ISO_19110) List<BoundFeatureAttribute> getObservesValuesOf(); /** * Specifies attribute that will be affected by an operation. */ //@UML(identifier="affectsValuesOf", obligation=OPTIONAL, specification=ISO_19110) List<BoundFeatureAttribute> getAffectsValuesOf(); }