📄 router.java
字号:
package com.smpp.server;
import java.util.Hashtable;
import java.util.StringTokenizer;
import java.util.Vector;
public class Router
{
private static Router router = new Router();
private Hashtable<String, String> hash = new Hashtable<String, String>();
private Vector<char[]> v = new Vector<char[]>();
public static void main(String [] args)
{
router.setRoutingData("Tushar1", "98111,98112,98113");
router.setRoutingData("Tushar2", "098121,098122,98123");
router.setRoutingData("Tushar3", "98131,98132,98133");
router.setRoutingData("Tushar4", "98141,98142,98143");
router.setRoutingData("Tushar5", "98151,98152,98123");
String abc = router.getSMPPSenderId("9812345");
//System.out.println("Sender is :"+abc);
}
private Router()
{
}
public static Router getRouter()
{
return router;
}
public void setRoutingData(String systemId, String routes)
{
StringTokenizer st = new StringTokenizer(routes, ",");
while(st.hasMoreTokens())
{
String token = st.nextToken();
hash.put(token,systemId);
char [] c = token.toCharArray();
v.add(c);
}
}
public String getSMPPSenderId(String destAddress)
{
int size = v.size();
int maxMatchLength = 0;
char [] x = null;
char [] d = destAddress.toCharArray();
for(int i = 0; i < size; i++ )
{
char [] c = (char[]) v.elementAt(i);
int matchLength = measureMatchCount(c,d);
//System.out.println(new String(c) +" : " + matchLength +" : "+maxMatchLength);
if(matchLength > maxMatchLength)
{
maxMatchLength = matchLength;
x = c;
}
}
if(x == null) return null;
String sender = (String)hash.get(new String(x));
return sender;
}
private int measureMatchCount(char []c, char []d)
{
int len = c.length;
int currentLen = 0;
for(int j =0; j < len ; j++)
{
currentLen = j;
if(c[j] != d[j])
{
//System.out.println(currentLen +" : "+ len);
return 0;
}
}
currentLen++;
//System.out.println(currentLen +" : "+ len);
if(currentLen == len)
{
return len;
}
else return 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -