1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.waarp.gateway.ftp.snmp;
21
22 import org.snmp4j.smi.Counter64;
23 import org.snmp4j.smi.Integer32;
24 import org.snmp4j.smi.IpAddress;
25 import org.snmp4j.smi.Null;
26 import org.snmp4j.smi.OID;
27 import org.snmp4j.smi.OctetString;
28 import org.snmp4j.smi.Opaque;
29 import org.snmp4j.smi.SMIConstants;
30 import org.snmp4j.smi.Variable;
31 import org.waarp.snmp.interf.WaarpInterfaceVariableFactory;
32
33
34
35
36 public class FtpVariableFactory implements WaarpInterfaceVariableFactory {
37
38 @Override
39 public final Variable getVariable(final OID oid, final int type,
40 final int mibLevel, final int entry) {
41 final Variable var;
42 switch (type) {
43 case SMIConstants.SYNTAX_INTEGER:
44
45 var = new Integer32();
46 break;
47 case SMIConstants.SYNTAX_OCTET_STRING:
48
49 var = new OctetString();
50 break;
51 case SMIConstants.SYNTAX_NULL:
52 var = new Null();
53 break;
54 case SMIConstants.SYNTAX_OBJECT_IDENTIFIER:
55 var = new OID();
56 break;
57 case SMIConstants.SYNTAX_IPADDRESS:
58 var = new IpAddress();
59 break;
60 case SMIConstants.SYNTAX_COUNTER32:
61 var = new FtpCounter32(mibLevel, entry);
62 break;
63 case SMIConstants.SYNTAX_GAUGE32:
64
65 var = new FtpGauge32(mibLevel, entry);
66 break;
67 case SMIConstants.SYNTAX_TIMETICKS:
68 var = new FtpTimeTicks(mibLevel, entry);
69 break;
70 case SMIConstants.SYNTAX_OPAQUE:
71 var = new Opaque();
72 break;
73 case SMIConstants.SYNTAX_COUNTER64:
74 var = new Counter64();
75 break;
76 default:
77 throw new IllegalArgumentException("Unmanaged Type: " + type);
78 }
79 return var;
80 }
81
82 }