01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: package javax.sound.sampled;
19:
20: public interface Line {
21:
22: class Info {
23: private Class<?> lineClass;
24:
25: public Info(Class<?> lineClass) {
26: this .lineClass = lineClass;
27: }
28:
29: public Class<?> getLineClass() {
30: return lineClass;
31: }
32:
33: public boolean matches(Line.Info info) {
34: return lineClass.isAssignableFrom(info.getLineClass());
35: }
36:
37: @Override
38: public String toString() {
39: return lineClass.toString();
40: }
41: }
42:
43: void addLineListener(LineListener listener);
44:
45: void close();
46:
47: Control getControl(Control.Type control);
48:
49: Control[] getControls();
50:
51: Line.Info getLineInfo();
52:
53: boolean isControlSupported(Control.Type control);
54:
55: boolean isOpen();
56:
57: void open() throws LineUnavailableException;
58:
59: void removeLineListener(LineListener listener);
60: }
|