2ebc2bcdb45b656b46fc2ae516129f4aedd01f23
[packetcable.git] / packetcable-driver / src / main / java / org / pcmm / gates / impl / ExtendedClassifier.java
1 /**
2  @header@
3  */
4 package org.pcmm.gates.impl;
5
6 import org.pcmm.base.impl.PCMMBaseObject;
7 import org.pcmm.gates.IExtendedClassifier;
8
9 import java.net.InetAddress;
10 import java.net.UnknownHostException;
11
12 /**
13  *
14  */
15 public class ExtendedClassifier extends PCMMBaseObject implements
16             IExtendedClassifier {
17
18     public ExtendedClassifier() {
19         this(LENGTH, STYPE, SNUM);
20     }
21
22     /**
23      * @param data - the data bytes to parse
24      */
25     public ExtendedClassifier(byte[] data) {
26         super(data);
27     }
28
29     /**
30      * @param len - the classifier's length
31      * @param sType - the sType value
32      * @param sNum - the sNum value
33      */
34     public ExtendedClassifier(short len, byte sType, byte sNum) {
35         super(len, sType, sNum);
36     }
37
38     /*
39      * (non-Javadoc)
40      *
41      * @see org.pcmm.gates.IClassifier#getDestinationIPAddress()
42      */
43     @Override
44     public InetAddress getDestinationIPAddress() {
45         try {
46             return InetAddress.getByAddress(getBytes((short) 12, (short) 4));
47         } catch (UnknownHostException e) {
48             e.printStackTrace();
49         }
50         return null;
51     }
52
53     /*
54      * (non-Javadoc)
55      *
56      * @see
57      * org.pcmm.gates.IClassifier#setDestinationIPAddress(java.net.InetAddress)
58      */
59     @Override
60     public void setDestinationIPAddress(InetAddress address) {
61         setBytes(address.getAddress(), (short) 12);
62     }
63
64     /*
65      * (non-Javadoc)
66      *
67      * @see org.pcmm.gates.IClassifier#getDestinationPort()
68      */
69     @Override
70     public short getDestinationPort() {
71         return getShort((short) 24);
72     }
73
74     /*
75      * (non-Javadoc)
76      *
77      * @see org.pcmm.gates.IClassifier#setDestinationPort(short)
78      */
79     @Override
80     public void setDestinationPort(short p) {
81         setShort(p, (short) 24);
82     }
83
84     /*
85      * (non-Javadoc)
86      *
87      * @see org.pcmm.gates.IClassifier#getSourceIPAddress()
88      */
89     @Override
90     public InetAddress getSourceIPAddress() {
91         try {
92             return InetAddress.getByAddress(getBytes((short) 4, (short) 4));
93         } catch (UnknownHostException e) {
94             e.printStackTrace();
95         }
96         return null;
97     }
98
99     /*
100      * (non-Javadoc)
101      *
102      * @see org.pcmm.gates.IClassifier#setSourceIPAddress(java.net.InetAddress)
103      */
104     @Override
105     public void setSourceIPAddress(InetAddress a) {
106         setBytes(a.getAddress(), (short) 4);
107     }
108
109     /*
110      * (non-Javadoc)
111      *
112      * @see org.pcmm.gates.IClassifier#getSourcePort()
113      */
114     @Override
115     public short getSourcePort() {
116         return getShort((short) 20);
117     }
118
119     /*
120      * (non-Javadoc)
121      *
122      * @see org.pcmm.gates.IClassifier#setSourcePort(short)
123      */
124     @Override
125     public void setSourcePort(short p) {
126         setShort(p, (short) 20);
127     }
128
129     /*
130      * (non-Javadoc)
131      *
132      * @see org.pcmm.gates.IClassifier#getProtocol()
133      */
134     @Override
135     public short getProtocol() {
136         return getShort((short) 0);
137     }
138
139     /*
140      * (non-Javadoc)
141      *
142      * @see org.pcmm.gates.IClassifier#setProtocol(short)
143      */
144     @Override
145     public void setProtocol(short p) {
146         setShort(p, (short) 0);
147     }
148
149     /*
150      * (non-Javadoc)
151      *
152      * @see org.pcmm.gates.IClassifier#getPriority()
153      */
154     @Override
155     public byte getPriority() {
156         return getByte((short) 30);
157     }
158
159     /*
160      * (non-Javadoc)
161      *
162      * @see org.pcmm.gates.IClassifier#setPriority(byte)
163      */
164     @Override
165     public void setPriority(byte p) {
166         setByte(p, (short) 30);
167     }
168
169     /*
170      * (non-Javadoc)
171      *
172      * @see org.pcmm.gates.IExtendedClassifier#getIPSourceMask()
173      */
174     @Override
175     public InetAddress getIPSourceMask() {
176         try {
177             return InetAddress.getByAddress(getBytes((short) 8, (short) 4));
178         } catch (UnknownHostException e) {
179             e.printStackTrace();
180         }
181         return null;
182     }
183
184     /*
185      * (non-Javadoc)
186      *
187      * @see
188      * org.pcmm.gates.IExtendedClassifier#setIPSourceMask(java.net.InetAddress)
189      */
190     @Override
191     public void setIPSourceMask(InetAddress a) {
192         setBytes(a.getAddress(), (short) 8);
193     }
194
195     /*
196      * (non-Javadoc)
197      *
198      * @see org.pcmm.gates.IExtendedClassifier#getIPDestinationMask()
199      */
200     @Override
201     public InetAddress getIPDestinationMask() {
202         try {
203             return InetAddress.getByAddress(getBytes((short) 16, (short) 4));
204         } catch (UnknownHostException e) {
205             e.printStackTrace();
206         }
207         return null;
208     }
209
210     /*
211      * (non-Javadoc)
212      *
213      * @see
214      * org.pcmm.gates.IExtendedClassifier#setIPDestinationMask(java.net.InetAddress
215      * )
216      */
217     @Override
218     public void setIPDestinationMask(InetAddress m) {
219         setBytes(m.getAddress(), (short) 16);
220     }
221
222     /*
223      * (non-Javadoc)
224      *
225      * @see org.pcmm.gates.IExtendedClassifier#getSourcePortStart()
226      */
227     @Override
228     public short getSourcePortStart() {
229         return getShort((short) 20);
230     }
231
232     @Override
233     public void setSourcePortStart(short p) {
234         setShort(p, (short) 20);
235     }
236
237     /*
238      * (non-Javadoc)
239      *
240      * @see org.pcmm.gates.IExtendedClassifier#getSourcePortEnd()
241      */
242     @Override
243     public short getSourcePortEnd() {
244         return getShort((short) 22);
245     }
246
247     @Override
248     public void setSourcePortEnd(short p) {
249         setShort(p, (short) 22);
250     }
251
252     /*
253      * (non-Javadoc)
254      *
255      * @see org.pcmm.gates.IExtendedClassifier#getDestinationPortStart()
256      */
257     @Override
258     public short getDestinationPortStart() {
259         return getShort((short) 24);
260     }
261
262     @Override
263     public void setDestinationPortStart(short p) {
264         setShort(p, (short) 24);
265     }
266
267     /*
268      * (non-Javadoc)
269      *
270      * @see org.pcmm.gates.IExtendedClassifier#getDestinationPortEnd()
271      */
272     @Override
273     public short getDestinationPortEnd() {
274         return getShort((short) 26);
275     }
276
277     @Override
278     public void setDestinationPortEnd(short p) {
279         setShort(p, (short) 26);
280     }
281
282     /*
283      * (non-Javadoc)
284      *
285      * @see org.pcmm.gates.IExtendedClassifier#getClassifierID()
286      */
287     @Override
288     public short getClassifierID() {
289         return getShort((short) 28);
290     }
291
292     @Override
293     public void setClassifierID(short p) {
294         setShort(p, (short) 28);
295     }
296
297     /*
298      * (non-Javadoc)
299      *
300      * @see org.pcmm.gates.IExtendedClassifier#getActivationState()
301      */
302     @Override
303     public byte getActivationState() {
304         return getByte((short) 31);
305     }
306
307     @Override
308     public void setActivationState(byte s) {
309         setByte(s, (short) 31);
310     }
311
312     /*
313      * (non-Javadoc)
314      *
315      * @see org.pcmm.gates.IExtendedClassifier#getAction()
316      */
317     @Override
318     public byte getAction() {
319         return getByte((short) 32);
320     }
321
322     @Override
323     public void setAction(byte a) {
324         setByte(a, (short) 32);
325     }
326
327     @Override
328     public byte getDSCPTOS() {
329         return getByte((short) 2);
330     }
331
332     @Override
333     public void setDSCPTOS(byte v) {
334         setByte(v, (short) 2);
335     }
336
337     @Override
338     public byte getDSCPTOSMask() {
339         return getByte((short) 3);
340     }
341
342     @Override
343     public void setDSCPTOSMask(byte v) {
344         setByte(v, (short) 3);
345     }
346
347 }