Everything is the same?
package com.codegym.task.task23.task2309;
import com.codegym.task.task23.task2309.vo.*;
import java.util.ArrayList;
import java.util.List;
/*
Sometimes anonymity is so nice!
*/
public class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
print(solution.getUsers());
print(solution.getLocations());
print(solution.getServer());
print(solution.getSubscription());
print(solution.getSubjects());
}
public static void print(List list) {
String format = "Id=%d, name='%s', description=%s";
for (Object obj : list) {
NamedItem item = (NamedItem) obj;
System.out.println(String.format(format, item.getId(), item.getName(), item.getDescription()));
}
}
public List<User> getUsers() {
return new AbstractDbSelectExecutor<User>() {
@Override
public String getQuery() {
return "SELECT * FROM USER";
}
}.execute();
}
public List<Subscription> getSubscription() {
return new AbstractDbSelectExecutor<Subscription>() {
@Override
public String getQuery() {
return "SELECT * FROM SUBSCRIPTION";
}
}.execute();
}
public List<Subject> getSubjects(){
return new AbstractDbSelectExecutor<Subject>() {
@Override
public String getQuery() {
return "SELECT * FROM SUBJECT";
}
}.execute();
}
public List<Server> getServer(){
return new AbstractDbSelectExecutor<Server>() {
@Override
public String getQuery() {
return "SELECT * FROM SERVER";
}
}.execute();
}
public List<Location> getLocations() {
return new AbstractDbSelectExecutor<Location>() {
@Override
public String getQuery() {
return "SELECT * FROM LOCATION";
}
}.execute();
}
}