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/Substituter.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   public class Substituter
10  {
11  
12      public Substituter()
13      {
14      }
15  
16      public static String replace(String s, String s1, String s2)
17      {
18          StringBuffer stringbuffer = new StringBuffer(" " + s2 + " ");
19          for(int i = stringbuffer.toString().indexOf(s); i != -1; i = stringbuffer.toString().indexOf(s))
20              stringbuffer.replace(i, i + s.length(), s1);
21  
22          return stringbuffer.toString().trim();
23      }
24  
25      public static String replaceIgnoreCase(String s, String s1, String s2)
26      {
27          StringBuffer stringbuffer = new StringBuffer(" " + s2 + " ");
28          s = s.toUpperCase();
29          for(int i = stringbuffer.toString().toUpperCase().indexOf(s); i != -1; i = stringbuffer.toString().toUpperCase().indexOf(s))
30              stringbuffer.replace(i, i + s.length(), s1);
31  
32          return stringbuffer.toString().trim();
33      }
34  
35      public static String applySubstitutions(HashMap hashmap, String s)
36      {
37          LinkedList linkedlist = new LinkedList();
38          linkedlist.add(" " + s + " ");
39          LinkedList linkedlist1 = new LinkedList();
40          for(Iterator iterator = hashmap.keySet().iterator(); iterator.hasNext();)
41          {
42              String s1 = (String)iterator.next();
43              for(ListIterator listiterator = linkedlist.listIterator(0); listiterator.hasNext();)
44              {
45                  String s2 = (String)listiterator.next();
46                  int i = s2.toUpperCase().indexOf(s1.toUpperCase());
47                  if(i >= 0 && i < s2.length())
48                  {
49                      listiterator.set(s2.substring(0, i));
50                      String s3 = (String)hashmap.get(s1);
51                      linkedlist1.add(listiterator.nextIndex() - 1, s3);
52                      if(i + s3.length() < s2.length())
53                          listiterator.add(s2.substring(i + s1.length()));
54                      else
55                          listiterator.add("");
56                  }
57              }
58  
59          }
60  
61          StringBuffer stringbuffer = new StringBuffer();
62          ListIterator listiterator1 = linkedlist.listIterator(0);
63          ListIterator listiterator2 = linkedlist1.listIterator(0);
64          while(listiterator1.hasNext()) 
65          {
66              stringbuffer.append(listiterator1.next());
67              if(listiterator2.hasNext())
68                  stringbuffer.append(listiterator2.next());
69          }
70          int j = stringbuffer.length();
71          if(j >= 2)
72          {
73              int k = 0;
74              if(stringbuffer.charAt(0) == ' ')
75                  k = 1;
76              if(stringbuffer.charAt(j - 1) == ' ')
77                  j--;
78              if(k == j)
79                  return "";
80              else
81                  return stringbuffer.substring(k, j);
82          } else
83          {
84              return stringbuffer.toString();
85          }
86      }
87  
88      private static final String SPACE = " ";
89      private static final String EMPTY_STRING = "";
90  }