Coverage Report - org.wsmo.service.signature.StateSignature
 
Classes in this File Line Coverage Branch Coverage Complexity
StateSignature
N/A
N/A
0
 
 1  
 /*
 2  
  wsmo4j extension - a Choreography API and Reference Implementation
 3  
 
 4  
  Copyright (c) 2005, University of Innsbruck, Austria
 5  
 
 6  
  This library is free software; you can redistribute it and/or modify it under
 7  
  the terms of the GNU Lesser General Public License as published by the Free
 8  
  Software Foundation; either version 2.1 of the License, or (at your option)
 9  
  any later version.
 10  
  This library is distributed in the hope that it will be useful, but WITHOUT
 11  
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 12  
  FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 13  
  details.
 14  
  You should have received a copy of the GNU Lesser General Public License along
 15  
  with this library; if not, write to the Free Software Foundation, Inc.,
 16  
  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 17  
  */
 18  
 
 19  
 package org.wsmo.service.signature;
 20  
 
 21  
 import java.util.Set;
 22  
 
 23  
 import org.omwg.ontology.Ontology;
 24  
 import org.wsmo.common.Entity;
 25  
 import org.wsmo.common.IRI;
 26  
 import org.wsmo.mediator.Mediator;
 27  
 import org.wsmo.mediator.OOMediator;
 28  
 
 29  
 /**
 30  
  * StateSignature defines the containers for the modes and also implements
 31  
  * methods to allow the modification of imported ontologies which define the
 32  
  * state of the machine.
 33  
  * 
 34  
  * <pre>
 35  
  *      Created on Jul 26, 2005
 36  
  *      Committed by $Author: vassil_momtchev $
 37  
  *      $Source$
 38  
  * </pre>
 39  
  * 
 40  
  * @author James Scicluna
 41  
  * @author Thomas Haselwanter
 42  
  * @author Holger Lausen
 43  
  * 
 44  
  * @version $Revision: 1849 $ $Date: 2006-10-24 17:56:41 +0300 (Tue, 24 Oct 2006) $
 45  
  */
 46  
 public interface StateSignature extends Entity, Iterable<Mode>  {
 47  
     
 48  
     /**
 49  
      * Lists the In Modes
 50  
      * 
 51  
      * @return Set of concept references and groundings for the In Mode
 52  
      */
 53  
     public Set<In> listInModes();
 54  
 
 55  
     /**
 56  
      * Lists the Out Modes
 57  
      * 
 58  
      * @return Set of concept references and groundings for the Out Mode
 59  
      */
 60  
     public Set<Out> listOutModes();
 61  
 
 62  
     /**
 63  
      * Lists the Shared Modes
 64  
      * 
 65  
      * @return Set of concept references and groundings (if any) for the Shared
 66  
      *         Mode
 67  
      */
 68  
     public Set<Shared> listSharedModes();
 69  
 
 70  
     /**
 71  
      * Lists the Static Mode
 72  
      * 
 73  
      * @return Set of concept references for the Static Mode
 74  
      */
 75  
     public Set<Static> listStaticModes();
 76  
 
 77  
     /**
 78  
      * Lists the Controlled Mode
 79  
      * 
 80  
      * @return Set of concept references for the Controlled Mode
 81  
      */
 82  
     public Set<Controlled> listControlledModes();
 83  
 
 84  
     /**
 85  
      * Adds an ontology to this element's imported ontologies list
 86  
      * 
 87  
      * @param ontology
 88  
      *            The ontology to be imported.
 89  
      * @see #removeOntology(Ontology ontology)
 90  
      * @see #removeOntology(IRI iri)
 91  
      */
 92  
     public void addOntology(Ontology ontology);
 93  
 
 94  
     /**
 95  
      * Removes an ontology from the list of ontolgies which this element
 96  
      * imports.
 97  
      * 
 98  
      * @param iri
 99  
      *            The ID of the ontology to be removed from this element's
 100  
      *            imported ontologies list.
 101  
      */
 102  
     public void removeOntology(IRI iri);
 103  
 
 104  
     /**
 105  
      * Removes an ontology from the list of ontolgies which this element
 106  
      * imports.
 107  
      * 
 108  
      * @param ontology
 109  
      *            The ontology to be removed from this element's imported
 110  
      *            ontologies list.
 111  
      */
 112  
     public void removeOntology(Ontology ontology);
 113  
 
 114  
     /**
 115  
      * Returns a list of ontologies which this element imports.
 116  
      * 
 117  
      * @return : The list of ontologies that this element imports.
 118  
      * @see org.omwg.ontology.Ontology
 119  
      */
 120  
     public Set<Ontology> listOntologies();
 121  
 
 122  
     /**
 123  
      * Adds a reference to a new oo-mediator to this element's used mediators list.
 124  
      * @param mediator the used mediator reference
 125  
      * @see #removeMediator(Mediator mediator)
 126  
      */
 127  
     void addMediator(OOMediator mediator);
 128  
 
 129  
     /**
 130  
      * Removes a reference to a mediator from this element's used mediator list.
 131  
      * @param mediator The mediator to be removed from this element's list of used mediators.
 132  
      */
 133  
     void removeMediator(OOMediator mediator);
 134  
 
 135  
     /**
 136  
      * Removes a reference to a oo-mediator from this element's used mediator list.
 137  
      * @param iri The ID of the mediator to be removed from this element's list of used mediators.
 138  
      */
 139  
     void removeMediator(IRI iri);
 140  
 
 141  
     /**
 142  
      * Returns the list of used mediators.
 143  
      * @return : The list of used mediators.
 144  
      * @see org.wsmo.mediator.Mediator
 145  
      */
 146  
     Set listMediators();
 147  
 
 148  
     /**
 149  
      * Adds a particular mode to the signature
 150  
      * 
 151  
      * @param mode
 152  
      */
 153  
     public void addMode(Mode mode);
 154  
 
 155  
     /**
 156  
      * Removes a particular mode from the state signature
 157  
      * 
 158  
      * @param mode
 159  
      *            The Mode object to be removed
 160  
      */
 161  
     public void removeMode(Mode mode);
 162  
 }