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

org.diirt.datasource.expression.WriteExpressionListImpl Maven / Gradle / Ivy

The newest version!
/**
 * Copyright (C) 2010-18 diirt developers. See COPYRIGHT.TXT
 * All rights reserved. Use is subject to license terms. See LICENSE.TXT
 */
package org.diirt.datasource.expression;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/**
 * Implementation class for {@link WriteExpressionList}.
 *
 * @param  type of the write payload
 * @author carcassi
 */
public class WriteExpressionListImpl implements WriteExpressionList {

    private List> writeExpressions;

    final void addThis() {
        writeExpressions.add((WriteExpression) this);
    }

    /**
     * Creates a new empty expression list.
     */
    public WriteExpressionListImpl() {
        this.writeExpressions = new ArrayList>();
    }

    WriteExpressionListImpl(Collection> writeExpressions) {
        this.writeExpressions = new ArrayList>(writeExpressions);
    }

    @Override
    public final WriteExpressionListImpl and(WriteExpressionList expressions) {
        @SuppressWarnings("unchecked")
        WriteExpressionList newExpression = (WriteExpressionList) (WriteExpressionList) expressions;
        writeExpressions.addAll(newExpression.getWriteExpressions());
        return this;
    }

    @Override
    public final List> getWriteExpressions() {
        return writeExpressions;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy