To get your results from another class, you can :
1 - Declare them as global attributes and access to them by their getters like this:
public class YourClass {
int datacenterId = -1;
int vmId = -1;
int result = -1;
public void processVmCreate(SimEvent ev) {
int[] data = (int[]) ev.getData();
datacenterId = data[0];
vmId = data[1];
result = data[2];
}
public int getDatacenterId() {
return datacenterId;
}
public int getVmId() {
return vmId;
}
public int getResult() {
return result;
}
}
2- Or you can transform your method like this and let it return a hashMap :
public HashMap<String, Integer> processVmCreate(SimEvent ev) {
int[] data = (int[]) ev.getData();
HashMap<String, Integer> map = new HashMap<>() ;
map.put("datacenterId", data[0]) ;
map.put("vmId", data[1]) ;
map.put("result", data[2]) ;
return map ;
}
And from another class you can access to your attributs like this :
public class AnotherClass {
//other code
public void anotherMethod(){
YourClass yourClass = new YourClass() ;
int datacenterId = yourClass.processVmCreate(simEvent).get("datacenterId") ;
int vmId yourClass.processVmCreate(simEvent).get("vmId") ;
int result yourClass.processVmCreate(simEvent).get("result") ;
}
}
Unless , you can not access to local variable from another class because they are local