Читаю комменты, все такие молодцы и решили чуть ли не быстрее, чем дочитали условие. Я решить не могу. При запуске летит исключение, класс не может быть приведен к параматрезированному типу. не пойму в чем беда, изучил этот замароченный метод, но подвоха не нашел. Значит подвох в моем коде, но за пять часов над задачей глаза замазолились и не вижу ничего. ПА-МА-ГИ-ТЕ!!! да-да, через "А".
package com.javarush.task.task23.task2309;
import com.javarush.task.task23.task2309.vo.*;
import java.util.List;
/*
Анонимность иногда так приятна!
*/
public class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
print(solution.getUsers());
print(solution.getLocations());
}
public List<User> getUsers(){
return new AbstractDbSelectExecutor(){
public String getQuery(){
return "SELECT * FROM USER";
}
}.execute();
}
public List<Location> getLocations(){
return new AbstractDbSelectExecutor(){
public String getQuery(){
return "SELECT * FROM LOCATION";
}
}.execute();
}
public List<Server> getServers(){
return new AbstractDbSelectExecutor(){
public String getQuery(){
return "SELECT * FROM SERVER";
}
}.execute();
}
public List<Subject> getSubjects(){
return new AbstractDbSelectExecutor(){
public String getQuery(){
return "SELECT * FROM SUBJECT";
}
}.execute();
}
public List<Subscription> getSubscriptions(){
return new AbstractDbSelectExecutor(){
public String getQuery(){
return "SELECT * FROM SUBSCRIPTION";
}
}.execute();
}
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()));
}
}
}