/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Net;
import java.util.Vector;
public class PacketComMobile {
private String type;
private Object contenu;
public PacketComMobile(String type, Object contenu){
this.setType(type);
this.setContenu(contenu);
}
public static String getMessage(PacketComMobile packet){
String message = null;
message += packet.getType();
message += "#";
if(packet.getContenu() != null){
Object[] data = (Object[]) packet.getContenu();
int nbElement = data.length;
for(int i=0; i<nbElement; i++){
String elm = (String) data[i];
message += elm;
message += ";";
}
}else{
packet.setContenu(null);
}
return message;
}
public static PacketComMobile getPacket(String message){
PacketComMobile packet = null;
String[] split1 = PacketComMobile.split(message, "#");
String type = split1[0];
String infos = split1[1];
String[] split2 = PacketComMobile.split(infos, ";");
int count = split2.length;
Object[] data = new Object[count];
for(int i=0; i<count; i++){
data[i] = split2[i];
}
packet.setType(type);
packet.setContenu((Object) data);
return packet;
}
private static String[] split(String original, String delimiter) {
Vector nodes = new Vector();
String separator = delimiter;
// Parse nodes into vector
int index = original.indexOf(separator);
while(index>=0) {
nodes.addElement( original.substring(0, index) );
original = original.substring(index+separator.length());
index = original.indexOf(separator);
}
nodes.addElement( original );
String[] result = new String[ nodes.size() ];
if( nodes.size()>0 ) {
for(int loop=0; loop<nodes.size(); loop++){
result[loop] = (String)nodes.elementAt(loop);
System.out.println(result[loop]);
}
}
return result;
}
public Object getContenu() {
return contenu;
}
public void setContenu(Object contenu) {
this.contenu = contenu;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}