/[svn]/jlscp/trunk/src/org/linuxsampler/lscp/Parameter.java
ViewVC logotype

Annotation of /jlscp/trunk/src/org/linuxsampler/lscp/Parameter.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 596 - (hide annotations) (download)
Wed Jun 1 07:11:31 2005 UTC (18 years, 11 months ago) by iliev
File size: 4778 byte(s)
The first alpha-release of jlscp

1 iliev 596 /*
2     * jlscp - a java LinuxSampler control protocol API
3     *
4     * Copyright (C) 2005 Grigor Kirilov Iliev
5     *
6     * This file is part of jlscp.
7     *
8     * jlscp is free software; you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License version 2
10     * as published by the Free Software Foundation.
11     *
12     * jlscp is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with jlscp; if not, write to the Free Software
19     * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20     * MA 02111-1307 USA
21     */
22    
23     package org.linuxsampler.lscp;
24    
25     /**
26     * Defines the generic properties that every parameter should have.
27     * @author Grigor Iliev
28     */
29     public interface Parameter<T> {
30     /**
31     * Gets the name of this parameter.
32     * @return The name of this parameter.
33     */
34     public String getName();
35    
36     /**
37     * Sets the name of this parameter.
38     * @param name A <code>String</code> instance containing the new name for this parameter.
39     */
40     public void setName(String name);
41    
42     /**
43     * Parses the specified character string and sets the value of this parameter
44     * with the parsed result.
45     * @param s A character string containing the value to be parsed.
46     * @throws LscpException If the parsing failed.
47     */
48     public void parseValue(String s) throws LscpException;
49    
50     /**
51     * Gets a character string representation of the parameter's value.
52     * @return A character string representation of the parameter's value.
53     */
54     public String getStringValue();
55    
56     /**
57     * Gets the description of this parameter.
58     * @return The description of this parameter.
59     */
60     public String getDescription();
61    
62     /**
63     * Gets the type of this parameter.
64     * @return The type of this parameter.
65     */
66     public ParameterType getType();
67    
68     /**
69     * Gets the current value of this parameter.
70     * @return The current value of this parameter.
71     */
72     public T getValue();
73    
74     /**
75     * Sets the current value of this parameter.
76     * @param val The new value for this parameter.
77     */
78     public void setValue(T val);
79    
80     /**
81     * Gets the default value for this parameter.
82     * @return The default value for this parameter.
83     */
84     public T getDefault();
85    
86     /**
87     * Defines if this parameter can be altered.
88     * @return <code>true</code> if the parameter is readonly and <code>false</code>
89     * if the parameter can be altered.
90     */
91     public boolean isFixed();
92    
93     /**
94     * Defines if this parameter allows only one value or list of values.
95     * @return <code>false</code> if this parameter allows only one value and <code>true</code>
96     * if allows a list of values.
97     */
98     public boolean isMultiplicity();
99    
100     /**
101     * Defines if this parameter must be given when the device is to be created.
102     * @return <code>true</code> if this parameter must be given when the device
103     * is to be created and <code>false</code> otherwise.
104     */
105     public boolean isMandatory();
106    
107     /**
108     * Checks if this parameter depends on some other parameter(s).
109     * @return <code>true</code> if this parameter depends on some other parameter(s)
110     * and <code>false</code> otherwise.
111     */
112     public boolean hasDependances();
113    
114     /**
115     * Gets a <code>String</code> array with parameter's names this parameter depends on.
116     * @return A <code>String</code> array with parameter's names this parameter depends on
117     * or <code>null</code> if this parameter has no dependances.
118     */
119     public String[] getDependances();
120    
121     /**
122     * Determines whether this parameter has a lower limit.
123     * @return <code>true</code> if this parameter has a lower limit,
124     * <code>false</code> otherwise.
125     */
126     public boolean hasRangeMin();
127    
128     /**
129     * Gets the lower limit of the allowed value range for this parameter.
130     * @return The lower limit of the allowed value range for this parameter.
131     */
132     public Number getRangeMin();
133    
134     /**
135     * Determines whether this parameter has an upper limit.
136     * @return <code>true</code> if this parameter has an upper limit,
137     * <code>false</code> otherwise.
138     */
139     public boolean hasRangeMax();
140    
141     /**
142     * Gets the upper limit of the allowed value range for this parameter.
143     * @return The upper limit of the allowed value range for this parameter.
144     */
145     public Number getRangeMax();
146    
147     /**
148     * Determines whether this parameter has a list of possible values.
149     * @return <code>true</code> if this parameter has a list of possible values,
150     * <code>false</code> otherwise.
151     */
152     public boolean hasPossibilities();
153    
154     /**
155     * Gets a list of possible values for this parameter.
156     * @return A list of possible values for this parameter.
157     */
158     public T[] getPossibilities();
159     }

  ViewVC Help
Powered by ViewVC