Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/alicebot/server/core/util/StringTripleMatrix.java


1   // Decompiled by Jad v1.5.8c. Copyright 2001 Pavel Kouznetsov.
2   // Jad home page: http://www.geocities.com/kpdus/jad.html
3   // Decompiler options: packimports(3) 
4   
5   package org.alicebot.server.core.util;
6   
7   import java.util.*;
8   
9   // Referenced classes of package org.alicebot.server.core.util:
10  //            DeveloperError, StringTriple, Trace
11  
12  public class StringTripleMatrix
13  {
14  
15      public StringTripleMatrix()
16      {
17          horizontal = new LinkedList();
18      }
19  
20      public LinkedList getAll()
21      {
22          return horizontal;
23      }
24  
25      public Iterator iterator()
26      {
27          return horizontal.iterator();
28      }
29  
30      public ListIterator listIterator()
31      {
32          return horizontal.listIterator();
33      }
34  
35      public boolean contains(StringTriple stringtriple)
36      {
37          return horizontal.contains(stringtriple);
38      }
39  
40      public LinkedList getFirsts()
41      {
42          return vertical[0];
43      }
44  
45      public LinkedList getSeconds()
46      {
47          return vertical[1];
48      }
49  
50      public LinkedList getThirds()
51      {
52          return vertical[2];
53      }
54  
55      public void add(StringTriple stringtriple)
56      {
57          horizontal.add(stringtriple);
58          vertical[0].add(stringtriple.getFirst());
59          vertical[1].add(stringtriple.getSecond());
60          vertical[2].add(stringtriple.getThird());
61      }
62  
63      public void addAll(StringTripleMatrix stringtriplematrix)
64      {
65          horizontal.addAll(stringtriplematrix.getAll());
66          vertical[0].addAll(stringtriplematrix.getFirsts());
67          vertical[1].addAll(stringtriplematrix.getSeconds());
68          vertical[2].addAll(stringtriplematrix.getThirds());
69      }
70  
71      public int size()
72      {
73          if(vertical[0].size() != vertical[1].size() || vertical[1].size() != vertical[2].size() || vertical[2].size() != horizontal.size())
74          {
75              Trace.devinfo("vertical[0].size(): " + vertical[0].size());
76              Trace.devinfo("vertical[1].size(): " + vertical[1].size());
77              Trace.devinfo("vertical[2].size(): " + vertical[2].size());
78              Trace.devinfo("horizontal.size(): " + horizontal.size());
79              throw new DeveloperError("Triple matrix integrity violated!");
80          } else
81          {
82              return horizontal.size();
83          }
84      }
85  
86      public void ensureSize(int i)
87      {
88          if(size() >= i)
89              return;
90          for(int j = 3; --j >= 0;)
91          {
92              Vector vector = new Vector(vertical[j]);
93              vector.setSize(i);
94              vertical[j] = new LinkedList(vector);
95          }
96  
97          Vector vector1 = new Vector(horizontal);
98          vector1.setSize(i);
99          horizontal = new LinkedList(vector1);
100     }
101 
102     private LinkedList vertical[] = {
103         new LinkedList(), new LinkedList(), new LinkedList()
104     };
105     private LinkedList horizontal;
106 }