1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package net.sf.asterisk.fastagi.command;
18
19 /***
20 * Hangs up the specified channel. If no channel name is given, hangs up the
21 * current channel.
22 *
23 * @author srt
24 * @version $Id: HangupCommand.java,v 1.2 2005/03/08 16:48:34 srt Exp $
25 */
26 public class HangupCommand extends AGICommand
27 {
28 /***
29 * Serial version identifier.
30 */
31 private static final long serialVersionUID = 3904959746380281145L;
32
33 /***
34 * The name of the channel to hangup or <code>null</code> for the current
35 * channel.
36 */
37 private String channel;
38
39 /***
40 * Creates a new HangupCommand that hangs up the current channel.
41 */
42 public HangupCommand()
43 {
44 this.channel = null;
45 }
46
47 /***
48 * Creates a new HangupCommand that hangs up the given channel.
49 *
50 * @param channel the name of the channel to hangup.
51 */
52 public HangupCommand(String channel)
53 {
54 this.channel = channel;
55 }
56
57 /***
58 * Returns the name of the channel to hangup.
59 *
60 * @return the name of the channel to hangup or <code>null</code> for the
61 * current channel.
62 */
63 public String getChannel()
64 {
65 return channel;
66 }
67
68 /***
69 * Sets the name of the channel to hangup.
70 *
71 * @param channel the name of the channel to hangup or <code>null</code>
72 * for the current channel.
73 */
74 public void setChannel(String channel)
75 {
76 this.channel = channel;
77 }
78
79 public String buildCommand()
80 {
81 return "HANGUP"
82 + (channel == null ? "" : " " + escapeAndQuote(channel));
83 }
84 }