All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ch.dkitc.ridioc.DIInstanceMethodParams Maven / Gradle / Ivy

package ch.dkitc.ridioc;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class DIInstanceMethodParams implements Iterable {

    private final List methodParams = new ArrayList();

    public DIInstanceMethodParams(Object... params) {
        for (Object param : params) {
            add(param);
        }
    }

    @Override
    public Iterator iterator() {
        return methodParams.iterator();
    }

    public DIInstanceMethodParam add(Object param) throws IllegalArgumentException {
        if (param == null) {
            throw new IllegalArgumentException("'param' must NOT be null");
        }
        DIInstanceMethodParam methodParam = new DIInstanceMethodParam(param.getClass(), param);
        methodParams.add(methodParam);
        return methodParam;
    }

    public DIInstanceMethodParams getParamsOfType(Class paramType) {
        DIInstanceMethodParams paramsOfType = new DIInstanceMethodParams();
        for (DIInstanceMethodParam methodParam : methodParams) {
            if (paramType.isAssignableFrom(methodParam.getType())) {
                paramsOfType.add(methodParam);
            }
        }
        return paramsOfType;
    }

    private void add(DIInstanceMethodParam methodParam) {
        methodParams.add(methodParam);
    }

    public DIInstanceMethodParam get(int index) {
        return methodParams.get(index);
    }

    public int size() {
        return methodParams.size();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy