2017-03-30_23-33-14

****************************************************************
Задание 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) +
                '}';
    }
}