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

net.intelie.pipes.ArrayRawEvent Maven / Gradle / Ivy

There is a newer version: 0.25.5
Show newest version
package net.intelie.pipes;

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

import static net.intelie.pipes.util.Preconditions.checkNotNull;

public class ArrayRawEvent extends AbstractRawEvent {
    private static final long serialVersionUID = 1L;
    private final List values;

    public ArrayRawEvent(List values) {
        checkNotNull(values, "values array cannot be null");
        this.values = values;
    }

    public static ArrayRawEvent fromArray(Object... values) {
        return new ArrayRawEvent(Arrays.asList(values));
    }

    @Override
    public int size() {
        return values.size();
    }

    @Override
    public Object get(int i) {
        if (i < 0 || i >= values.size())
            return null;
        return values.get(i);
    }

    @SuppressWarnings("unchecked")
    @Override
    public Iterator iterator() {
        return values.iterator();
    }
}