01: /*
02: * Copyright (c) 1998-2008 Caucho Technology -- all rights reserved
03: *
04: * This file is part of Resin(R) Open Source
05: *
06: * Each copy or derived work must preserve the copyright notice and this
07: * notice unmodified.
08: *
09: * Resin Open Source is free software; you can redistribute it and/or modify
10: * it under the terms of the GNU General Public License as published by
11: * the Free Software Foundation; either version 2 of the License, or
12: * (at your option) any later version.
13: *
14: * Resin Open Source is distributed in the hope that it will be useful,
15: * but WITHOUT ANY WARRANTY; without even the implied warranty of
16: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
17: * of NON-INFRINGEMENT. See the GNU General Public License for more
18: * details.
19: *
20: * You should have received a copy of the GNU General Public License
21: * along with Resin Open Source; if not, write to the
22: *
23: * Free Software Foundation, Inc.
24: * 59 Temple Place, Suite 330
25: * Boston, MA 02111-1307 USA
26: *
27: * @author Nam Nguyen
28: */
29:
30: package com.caucho.server.snmp.types;
31:
32: import java.util.ArrayList;
33: import java.util.Iterator;
34:
35: /*
36: * SNMP Sequence type.
37: */
38: public class SequenceValue<T extends SnmpValue> extends SnmpValue {
39: ArrayList<T> _list = new ArrayList<T>();
40:
41: public SequenceValue() {
42: }
43:
44: public void add(T item) {
45: _list.add(item);
46: }
47:
48: public T get(int index) {
49: return _list.get(index);
50: }
51:
52: public int size() {
53: return _list.size();
54: }
55:
56: public Iterator<T> iterator() {
57: return _list.iterator();
58: }
59:
60: public void clear() {
61: _list.clear();
62: }
63:
64: @Override
65: public int getType() {
66: return SnmpValue.SEQUENCE;
67: }
68:
69: @Override
70: public void toAsn1(StringBuilder sb) {
71: StringBuilder innerSb = new StringBuilder();
72:
73: for (SnmpValue obj : _list) {
74: obj.toAsn1(innerSb);
75: }
76:
77: header(sb, innerSb.length());
78:
79: sb.append(innerSb.toString());
80: }
81:
82: public String toString() {
83: String s = "Sequence[";
84:
85: for (int i = 0; i < _list.size(); i++) {
86: if (i != 0)
87: s += ",";
88:
89: s += _list.get(i).toString();
90: }
91:
92: s += "]";
93:
94: return s;
95: }
96: }
|