I'm in the process of creating a my own library. I've studied the internet and forums and articles about synchronization, locking, and even what seems to be the advise for libraries is standard pojo but with thread safe wrappers.
I'm so confused. I'm new in Java, created plenty of classes, exceptions and web services which works great. Coming from Delphi background most of these are not new to me. Building libraries is a different matter.
I have 2 concerns:
1. Using the lib classes from an EJB
2. Using it from multiple threads.
Creating a class instance per thread or instance seems to be the logical (maybe incorrect) conclusion. This will ensure that each validation is not interfered with.
My scenario is as follows:
I have a class that does validation of a string. This process will include parsing of the string, looking data up in a database or hashmap or some structure and then constructing an output which is not just a singel string but can be a number of fields of varying types.
E.g.
public class Validator {
private String _string_to_validate = null;
private final String resultString1 = null;
private final int resultInt1 = -1;
public Validator() {
}
public void validate() {
//parse the string and do db lookups etc
doSomeStuff();
}
public void validate(String value) {
this._string_to_validate = value;
validate();
}
private void doSomeStuff() {
//manipulate string and set results
manipulate();
resultInt1 = 9292;
resultString1 = "whatever I need to set it to";
}
}
Is this ok? Please help.
I'm so confused. I'm new in Java, created plenty of classes, exceptions and web services which works great. Coming from Delphi background most of these are not new to me. Building libraries is a different matter.
I have 2 concerns:
1. Using the lib classes from an EJB
2. Using it from multiple threads.
Creating a class instance per thread or instance seems to be the logical (maybe incorrect) conclusion. This will ensure that each validation is not interfered with.
My scenario is as follows:
I have a class that does validation of a string. This process will include parsing of the string, looking data up in a database or hashmap or some structure and then constructing an output which is not just a singel string but can be a number of fields of varying types.
E.g.
public class Validator {
private String _string_to_validate = null;
private final String resultString1 = null;
private final int resultInt1 = -1;
public Validator() {
}
public void validate() {
//parse the string and do db lookups etc
doSomeStuff();
}
public void validate(String value) {
this._string_to_validate = value;
validate();
}
private void doSomeStuff() {
//manipulate string and set results
manipulate();
resultInt1 = 9292;
resultString1 = "whatever I need to set it to";
}
}
Is this ok? Please help.