File SKLMessage.java¶
File List > internal > message > SKLMessage.java
Go to the documentation of this file
package skydata.internal.message;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import jade.lang.acl.ACLMessage;
public class SKLMessage implements Serializable {
private String msg_id;
private long arrivalDate;
private Serializable content;
private long nbSent = 1;
private ArrayList<SKAID> receivers;
public String ontology;
public String protocol;
private SKAID sender;
public SKLMessage(String ontology, String protocol) {
this.receivers = new ArrayList<>();
this.ontology = ontology;
this.protocol = protocol;
}
public void clearReceivers() {
this.receivers.clear();
}
public ArrayList<SKAID> getReceivers() {
return this.receivers;
}
public void setReceivers(ArrayList<SKAID> r) {
this.receivers = r;
}
public void addReceiver(SKAID r) {
this.receivers.add(r);
}
public SKAID getReceiver(String name) {
for(SKAID s : this.receivers) {
if(s.getName().equals(name)) {
return s;
}
}
return null;
}
public void removeReceiver(String name) {
this.receivers.removeIf(x -> x.getName().equals(name));
}
public void setArrivalDate(long ad) {
this.arrivalDate = ad;
}
public long getArrivalDate() {
return this.arrivalDate;
}
public void setContent(Serializable content) {
this.content = content;
}
public Serializable getContent() {
return this.content;
}
public void setMessageId(String id) {
this.msg_id = id;
}
public String getMessageId() {
return this.msg_id;
}
public long getNbSent() {
return this.nbSent;
}
public void setNbSent(long b) {
this.nbSent = b;
}
public void setSender(SKAID sender) {
this.sender = sender;
}
public SKAID getSender() {
return this.sender;
}
public ACLMessage toJade(ArrayList<SKAID> receivers) {
final ACLMessage msg = new ACLMessage(ACLMessage.INFORM);
try {
msg.setContentObject((Serializable) this);
for (SKAID r : receivers) {
msg.addReceiver(r.toAID());
}
msg.setProtocol(this.protocol);
msg.setOntology(this.ontology);
} catch (IOException e) {
e.printStackTrace();
}
return msg;
}
public ACLMessage toJade() {
return this.toJade(this.receivers);
}
public ACLMessage toJade(SKAID s) {
ArrayList<SKAID> receivers = new ArrayList<>(Arrays.asList(s));
return toJade(receivers);
}
}