
****************************************************************
Задание 2
1. Создай класс Controller, в нем будет содержаться бизнес логика.
2. В Controller добавь паблик конструктор, который будет принимать столько провайдеров, сколько в него передадут для обработки.
Сохрани их в приватное поле providers.
Помнишь, как это делать? Нужно нажать на аргументе конструктора Alt+Enter, выбрать Create Field for Parameter 'providers'
3. Если провайдеры не переданы в конструктор контроллера, то брось IllegalArgumentException.
4. Создай метод toString в классе Controller (Alt+Insert -> toString()) со стандартной реализацией (должен выводить поле providers)
5. В методе main создай провайдер, а потом создай контроллер с этим провайдером.
6. В методе main выведи в консоль созданный экземпляр Controller-а.
package com.javarush.test.level28.lesson15.big01.model;
/**
* Created by promoscow on 23.02.17.
*/
public class Provider {
private Strategy strategy;
public Provider(Strategy strategy) {
this.strategy = strategy;
}
public Provider() {
}
public void setStrategy(Strategy strategy) {
this.strategy = strategy;
}
}
package com.javarush.test.level28.lesson15.big01.model;
/**
* Created by promoscow on 23.02.17.
*/
public interface Strategy {
}
package com.javarush.test.level28.lesson15.big01;
import com.javarush.test.level28.lesson15.big01.model.Provider;
/**
* Created by promoscow on 23.02.17.
*/
public class Aggregator {
public static void main(String[] args) {
Provider provider = new Provider();
Controller controller = new Controller(provider);
System.out.println(controller);
}
}
package com.javarush.test.level28.lesson15.big01;
import com.javarush.test.level28.lesson15.big01.model.Provider;
import java.util.Arrays;
/**
* Created by promoscow on 23.02.17.
*/
public class Controller {
private Provider[] providers;
public Controller(Provider... providers) throws IllegalArgumentException {
if (providers == null || providers.length == 0) throw new IllegalArgumentException();
this.providers = providers;
}
@Override
public String toString() {
return "Controller{" +
"providers=" + Arrays.toString(providers) +
'}';
}
}
Leave A Comment