Salve a tutti!
scrivo questo post per via della mia ignoranza sulla base della programmazione java.
Ho una classe del genere:
codice:
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Task {
String InputEdge;
String InputToken;
String TaskName;
String TaskToken;
String TaskStatus;
String OutputEdge;
String OutputToken;
String task ="\"signavio:sid-F969BBC6-3367-4768-9180-44C040A3DEB7\" . 0,\"Handle Payment\" . false . absent,\"signavio:sid-8D5C98CA-A20A-4264-93CF-ECDF6224901C\" . 0";
public ArrayList<String> EdgeTaskEdge()
{
ArrayList<String> EdgeTaskEdge = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(task, ",");
while (st.hasMoreTokens())
{
EdgeTaskEdge.add(st.nextToken());
}
return EdgeTaskEdge;
}
public ArrayList<String> PointDivision(ArrayList<String> EdgeTaskEdge)
{
ArrayList<String> PointDivision = new ArrayList<String>();
for(int i=0; i<EdgeTaskEdge.size(); i++)
{
StringTokenizer st = new StringTokenizer(EdgeTaskEdge.get(i), ".");
while (st.hasMoreTokens())
{
PointDivision.add(st.nextToken());
}
}
return PointDivision;
}
public void setTask(ArrayList<String> PointDivision )
{
this.InputEdge = (PointDivision.get(0));
this.InputToken = (PointDivision.get(1));
this.TaskName = (PointDivision.get(2));
this.TaskToken = (PointDivision.get(3));
this.TaskStatus = (PointDivision.get(4));
this.OutputEdge = (PointDivision.get(5));
this.OutputToken = (PointDivision.get(6));
}
public void stampaTask()
{
System.out.println(InputEdge);
System.out.println(InputToken);
System.out.println(TaskName);
System.out.println(TaskToken);
System.out.println(TaskStatus);
System.out.println(OutputEdge);
System.out.println(OutputToken);
}
}
praticamente prendo dei pezzi da quella stringa e li salvo all'interno a delle variabili. ora viene il dubbio perchè quando nel main vado a scrivere:
codice:
Task task = new Task();
task.stampaTask();
mi ritornano tutte quante le variabili null invece se scrivo:
codice:
ArrayList<String> EdgeTaskEdge = task.EdgeTaskEdge(); //stampa documento
for(String a : EdgeTaskEdge)
System.out.println("EdgeTaskEdge: "+a);
ArrayList<String> PointDivision = task.PointDivision(EdgeTaskEdge);
for(String b : PointDivision)
System.out.println("PointDivision: "+b);
task.setTask(PointDivision);
task.stampaTask();
mi ritorna con i valori che mi aspetto?? in sintesi...dato che chiamo un metodo all'interno di quella classe...come faccio a fargli fare il tutto segna scrivere ogni volta nel main tutti i metodo con i rispettivi parametri da passare?
grazie per l'aiuto