View Javadoc

1   /*
2    *  
3    *  Fosstrak LLRP Commander (www.fosstrak.org)
4    * 
5    *  Copyright (C) 2008 ETH Zurich
6    *
7    *  This program is free software: you can redistribute it and/or modify
8    *  it under the terms of the GNU General Public License as published by
9    *  the Free Software Foundation, either version 3 of the License, or
10   *  (at your option) any later version.
11   *
12   *  This program 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 this program.  If not, see <http://www.gnu.org/licenses/> 
19   *
20   */
21  
22  package org.fosstrak.llrp.client;
23  
24  /**
25   * This wrapper class for Reader. Some extended attributes added for
26   * Editor use.
27   *
28   * @author Haoning Zhang
29   * @version 1.0
30   */
31  public class Reader {
32  	
33      /**
34       * The default Adapter Name.
35       * For those Readers, which are directly connected form Client side.
36       */
37  	public final static String LOCAL_ADAPTER_NAME = "Local";
38  	
39  	private String adapterName;
40  	private String name;
41  	private String ip;
42  	private int port;
43  	
44      /**
45       * Default Constructor.
46       */
47  	public Reader() {
48  		setAdapterName(LOCAL_ADAPTER_NAME);
49  	}
50  	
51      /**
52       * Get the Unique Id of this Reader.
53       */
54  	public String getId() {
55  		return getUniqueReaderId(getAdapterName(), getName());
56  	}
57  	
58  	/**
59  	 * Get IP address.
60  	 * 
61  	 * @return Reader IP Address
62  	 */
63  	public String getIp() {
64  		return ip;
65  	}
66  
67  	/**
68  	 * Set IP Address
69  	 * 
70  	 * @param ip Reader IP Address
71  	 */
72  	public void setIp(String ip) {
73  		this.ip = ip;
74  	}
75  
76  	/**
77  	 * Get Port number
78  	 * 
79  	 * @return Reader Port Number
80  	 */
81  	public int getPort() {
82  		return port;
83  	}
84  
85  	/**
86  	 * Set Port Number
87  	 * 
88  	 * @param port Reader Port Number
89  	 */
90  	public void setPort(int port) {
91  		this.port = port;
92  	}
93  
94  	/**
95  	 * Get the logical name of the Reader.
96  	 * 
97  	 * @return Reader Logical Name
98  	 */
99  	public String getName() {
100 		return name;
101 	}
102 
103 	/**
104 	 * Set the logical name of the Reader.
105 	 * 
106 	 * @param name Reader Logical Name
107 	 */
108 	public void setName(String name) {
109 		this.name = name;
110 	}
111 
112     /**
113      * Get the name of LLRP Adapter, which hold this Reader.
114      */
115 	public String getAdapterName() {
116 		return adapterName;
117 	}
118 
119     /**
120      * Set the name of LLRP Adapter, which hold this Reader.
121      *
122      * @param aAdapterName String the name of Adapter.
123      */
124 	public void setAdapterName(String aAdapterName) {
125 		adapterName = aAdapterName;
126 	}
127 	
128 	public boolean isAttachedTo(String aAdapterName) {
129 		return aAdapterName.trim().equals(getAdapterName())? true : false;
130 	}
131 	
132 	/**
133 	 * Static function to get system wide unique reader name.
134 	 * It just combine the AdapterName and the ReaderName.
135 	 *  
136 	 * @param aAdapterName Adapter Logical Name
137 	 * @param aReaderName Reader Logical Name
138 	 * @return a string holding a unique reader name.
139 	 */
140 	public static String getUniqueReaderId(String aAdapterName, String aReaderName) {
141 		return aAdapterName + "-" + aReaderName;
142 	}
143 	
144     /**
145      * Get the description of the Reader.
146      */
147 	public String toString() {
148 		StringBuffer sb = new StringBuffer();
149 		sb.append("Name:");
150 		sb.append(getName());
151 		sb.append(" Adater:");
152 		sb.append(getAdapterName());
153 		sb.append(" IP:");
154 		sb.append(getIp());
155 		sb.append(":");
156 		sb.append(getPort());
157 		return sb.toString();
158 	}
159 }