| Resource |

    1   /*
    2    *  Resource.java
    3    *
    4    *  Copyright (c) 1998-2001, The University of Sheffield.
    5    *
    6    *  This file is part of GATE (see http://gate.ac.uk/), and is free
    7    *  software, licenced under the GNU Library General Public License,
    8    *  Version 2, June 1991 (in the distribution as file licence.html,
    9    *  and also available at http://gate.ac.uk/gate/licence.html).
    10   *
    11   *  Hamish Cunningham, 11/Feb/2000
    12   *
    13   *  $Id: Resource.java,v 1.12 2001/10/04 17:58:06 valyt Exp $
    14   */
    15
    16  package gate;
    17
    18  import java.util.*;
    19  import java.io.*;
    20
    21  import gate.util.*;
    22  import gate.creole.*;
    23
    24  /** Models all sorts of resources.
    25    */
    26  public interface Resource extends FeatureBearer, NameBearer, Serializable
    27  {
    28    /** Initialise this resource, and return it. */
    29    public Resource init() throws ResourceInstantiationException;
    30
    31    /** Clears the internal data of the resource, when it gets released **/
    32    public void cleanup();
    33
    34
    35    //Parameters utility methods
    36    /**
    37     * Gets the value of a parameter of this resource.
    38     * @param paramaterName the name of the parameter
    39     * @return the current value of the parameter
    40     */
    41    public Object getParameterValue(String paramaterName)
    42                  throws ResourceInstantiationException;
    43
    44    /**
    45     * Sets the value for a specified parameter.
    46     *
    47     * @param paramaterName the name for the parameteer
    48     * @param parameterValue the value the parameter will receive
    49     */
    50    public void setParameterValue(String paramaterName, Object parameterValue)
    51                throws ResourceInstantiationException;
    52
    53    /**
    54     * Sets the values for more parameters in one step.
    55     *
    56     * @param parameters a {@link FeatureMap} that has parameter names as keys and
    57     * parameter values as values.
    58     */
    59    public void setParameterValues(FeatureMap parameters)
    60                throws ResourceInstantiationException;
    61
    62  } // interface Resource
    63

| Resource |