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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1139 - (hide annotations) (download)
Mon Apr 2 20:43:58 2007 UTC (17 years, 1 month ago) by iliev
File size: 3603 byte(s)
* upgraded to version 0.4a

1 iliev 596 /*
2     * jlscp - a java LinuxSampler control protocol API
3     *
4 iliev 1139 * Copyright (C) 2005-2006 Grigor Iliev <grigor@grigoriliev.com>
5 iliev 596 *
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     import java.util.Vector;
26    
27    
28     /**
29     * This class provides default implementation of the <code>Device</code> interface.
30     * @author Grigor Iliev
31     */
32     public abstract class AbstractDevice implements Device {
33 iliev 784 private int id = -1;
34 iliev 596 private String driver = null;
35 iliev 1139 private BoolParameter active = new BoolParameter("ACTIVE", true);
36 iliev 596
37     private final Vector<Parameter> prmList = new Vector<Parameter>();
38    
39 iliev 784 /** Creates new instance of <code>AbstractDevice</code> */
40 iliev 596 public
41     AbstractDevice() {
42     }
43    
44     /**
45 iliev 784 * Gets the numerical ID of this device.
46     * @return The numerical ID of this device or -1 if the device number is not set.
47     */
48     public int
49 iliev 1139 getDeviceId() { return id; }
50 iliev 784
51     /**
52     * Sets the numerical ID of this device.
53     * @param id The new numerical ID of this device.
54     */
55     public void
56 iliev 1139 setDeviceId(int id) { this.id = id; }
57 iliev 784
58     /**
59 iliev 596 * Gets the driver name used by this device.
60     * @return The driver name used by this device.
61     */
62     public String
63     getDriverName() { return driver; }
64    
65     /**
66     * Sets the driver name of this device.
67     * @param driver The new name for this device.
68     */
69     public void
70     setDriverName(String driver) { this.driver = driver; }
71    
72     /**
73     * Determines whether this device is active.
74     * @return <code>false</code> if the device is inactive and <code>true</code> otherwise.
75     */
76     public boolean
77 iliev 1139 isActive() { return active.getValue(); }
78 iliev 596
79     /**
80     * Sets whether this audio output device is active or not.
81     * @param active <code>false</code> if the device is inactive and doesn't output any sound,
82     * <code>true</code> otherwise.
83     */
84     public void
85 iliev 1139 setActive(boolean active) { this.active.setValue(active); }
86 iliev 596
87     /**
88 iliev 1139 * Gets the <code>ACTIVE</code> parameter.
89     * @return A <code>Parameter<Boolean></code> instance
90     * representing the active state of the device.
91     */
92     public Parameter<Boolean>
93     getActiveParameter() { return active; }
94    
95     /**
96 iliev 596 * Adds additional parameter to this device.
97     * @param prm The additional parameter to be added.
98     */
99     public void
100     addParameter(Parameter prm) { prmList.add(prm); }
101    
102     /**
103     * Gets <code>Parameter</code> array with the additional parameters of this device.
104     * @return <code>Parameter</code> array with the additional parameters of this device.
105     */
106     public Parameter[]
107     getAdditionalParameters() { return prmList.toArray(new Parameter[prmList.size()]); }
108    
109     /**
110     * Determines whether this device has additional parameters.
111     * @return <code>true</code> if this device has additional parameters,
112     * <code>false</code> otherwise.
113     */
114     public boolean
115     hasAdditionalParameters() { return !prmList.isEmpty(); }
116 iliev 784
117     /**
118     * Returns the numerical ID of the device.
119     * @return The numerical ID of the device.
120     */
121     public String
122 iliev 1139 toString() { return String.valueOf(getDeviceId()); }
123 iliev 596 }

  ViewVC Help
Powered by ViewVC