Когда использовать Long против Long в Java?
Ниже мой интерфейс -
public interface IDBClient {
public String read(ClientInput input);
}
Это моя реализация интерфейса -
public class DatabaseClient implements IDBClient {
@Override
public String read(ClientInput input) {
}
}
Теперь у меня есть фабрика, которая получает экземплярDatabaseClient
нравится -
IDBClient client = DatabaseClientFactory.getInstance();
....
Теперь мне нужно позвонитьread
метод моегоDatabaseClient
который принимаетClientInput
Параметр и ниже это класс для того же. Этот класс не был написан мной, поэтому у меня возник вопрос по этому поводу, и я почти уверен, что это неправильный способ сделать это.
public final class ClientInput {
private Long userid;
private Long clientid;
private Long timeout_ms = 20L;
private boolean debug;
private Map<String, String> parameterMap;
public ClientInput(Long userid, Long clientid, Map<String, String> parameterMap, Long timeout_ms, boolean debug) {
this.userid = userid;
this.clientid = clientid;
this.parameterMap = parameterMap;
this.timeout_ms = timeout_ms;
this.debug = debug;
}
}
Поэтому, когда клиент звонитread
методDatabaseClient
они создадутClientInput
параметр, как это, а затем использовать фабрику, чтобы получить экземплярDatabaseClient
и затем вызовите метод чтения соответственно.
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("attribute", "segmentation");
ClientInput input = new ClientInput(109739281L, 20L, paramMap, 1000L, true);
IDBClient client = DatabaseClientFactory.getInstance();
client.read(input);
Постановка задачи:-
Итак, мой первый вопрос:userid
, clientid
, timeout_ms
должно бытьLong
объект или простоlong
вClientInput
класс?Второй вопрос, который у меня есть, может быть, что клиент может передать неверную информацию, такую какnegative user ids
, negative client id
, negative timeout
значение и т. д. Тогда, где я должен сделать эту проверку? Должен ли я сделать эту проверку проверки в конструктореClientInput
класс или в каком-то другом месте? Какой лучший способ сделать это и как мне сделать проверку?