4 package org.pcmm.gates.impl;
6 import org.pcmm.base.impl.PCMMBaseObject;
7 import org.pcmm.gates.IClassifier;
9 import java.net.Inet4Address;
10 import java.net.InetAddress;
11 import java.net.UnknownHostException;
14 * TODO - Cleanup this interface
16 public class Classifier extends PCMMBaseObject implements IClassifier {
22 this(LENGTH, STYPE, SNUM);
26 * @param data - the data to add
28 public Classifier(byte[] data) {
33 * @param len - the classifier's length
34 * @param sType - the sType value
35 * @param sNum - the sNum value
37 public Classifier(short len, byte sType, byte sNum) {
38 super(len, sType, sNum);
44 * @see org.pcmm.gates.IClassifier#getDestinationIPAddress()
47 public InetAddress getDestinationIPAddress() {
49 return Inet4Address.getByAddress(getBytes((short) 8, (short) 4));
50 } catch (UnknownHostException e) {
59 * org.pcmm.gates.IClassifier#setDestinationIPAddress(java.net.InetAddress)
62 public void setDestinationIPAddress(InetAddress address) {
63 setBytes(address.getAddress(), (short) 8);
69 * @see org.pcmm.gates.IClassifier#getDestinationPort()
72 public short getDestinationPort() {
73 return getShort((short) 14);
79 * @see org.pcmm.gates.IClassifier#setDestinationPort(short)
82 public void setDestinationPort(short p) {
83 setShort(p, (short) 14);
89 * @see org.pcmm.gates.IClassifier#getSourceIPAddress()
92 public InetAddress getSourceIPAddress() {
94 return Inet4Address.getByAddress(getBytes((short) 4, (short) 4));
95 } catch (UnknownHostException e) {
103 * @see org.pcmm.gates.IClassifier#setSourceIPAddress(java.net.InetAddress)
106 public void setSourceIPAddress(InetAddress a) {
107 setBytes(a.getAddress(), (short) 4);
113 * @see org.pcmm.gates.IClassifier#getSourcePort()
116 public short getSourcePort() {
117 return getShort((short) 12);
123 * @see org.pcmm.gates.IClassifier#setSourcePort(short)
126 public void setSourcePort(short p) {
127 setShort(p, (short) 12);
134 * @see org.pcmm.gates.IClassifier#getProtocol()
137 public short getProtocol() {
138 return getShort((short) 0);
144 * @see org.pcmm.gates.IClassifier#setProtocol(short)
147 public void setProtocol(short p) {
148 setShort(p, (short) 0);
154 * @see org.pcmm.gates.IClassifier#getPriority()
157 public byte getPriority() {
158 return getBytes((short) 16, (short) 1)[0];
164 * @see org.pcmm.gates.IClassifier#setPriority(byte)
167 public void setPriority(byte p) {
168 setBytes(new byte[] { p }, (short) 16);
172 public byte getDSCPTOS() {
173 return getBytes((short) 2, (short) 1)[0];
177 public void setDSCPTOS(byte v) {
178 setBytes(new byte[] { v }, (short) 2);
183 public byte getDSCPTOSMask() {
184 return getBytes((short) 3, (short) 1)[0];
188 public void setDSCPTOSMask(byte v) {
189 setBytes(new byte[] { v }, (short) 3);