/*
***************************************************************************************
* Copyright (C) 2006 EsperTech, Inc. All rights reserved. *
* http://www.espertech.com/esper *
* http://www.espertech.com *
* ---------------------------------------------------------------------------------- *
* The software in this package is published under the terms of the GPL license *
* a copy of which has been included with this distribution in the license.txt file. *
***************************************************************************************
*/
package com.espertech.esper.client.soda;
import java.io.Serializable;
import java.util.List;
/**
* Items within the split-stream syntax to contain a tuple of insert-into, select and where-clause.
*/
public class OnInsertSplitStreamItem implements Serializable {
private static final long serialVersionUID = 0L;
private InsertIntoClause insertInto;
private SelectClause selectClause;
private List<ContainedEventSelect> propertySelects;
private String propertySelectsStreamName;
private Expression whereClause;
/**
* Ctor.
*/
public OnInsertSplitStreamItem() {
}
/**
* Factory method for split-stream items.
*
* @param insertInto the insert-into clause
* @param selectClause the select-clause
* @param whereClause where-expression or null
* @return split-stream item
*/
public static OnInsertSplitStreamItem create(InsertIntoClause insertInto, SelectClause selectClause, Expression whereClause) {
return new OnInsertSplitStreamItem(insertInto, selectClause, whereClause);
}
/**
* Factory method for split-stream items.
*
* @param insertInto the insert-into clause
* @param selectClause the select-clause
* @param propertySelects contained-event selects in the from-clause
* @param propertySelectsStreamName stream name for contained-event selection
* @param whereClause where-expression or null
* @return split-stream item
*/
public static OnInsertSplitStreamItem create(InsertIntoClause insertInto, SelectClause selectClause, List<ContainedEventSelect> propertySelects, String propertySelectsStreamName, Expression whereClause) {
return new OnInsertSplitStreamItem(insertInto, selectClause, propertySelects, propertySelectsStreamName, whereClause);
}
/**
* Ctor.
*
* @param insertInto the insert-into clause
* @param selectClause the select-clause
* @param propertySelects contained-event selections
* @param propertySelectsStreamName contained-event selection stream name
* @param whereClause where-expression or null
*/
public OnInsertSplitStreamItem(InsertIntoClause insertInto, SelectClause selectClause, List<ContainedEventSelect> propertySelects, String propertySelectsStreamName, Expression whereClause) {
this.insertInto = insertInto;
this.selectClause = selectClause;
this.propertySelects = propertySelects;
this.propertySelectsStreamName = propertySelectsStreamName;
this.whereClause = whereClause;
}
/**
* Ctor.
*
* @param insertInto the insert-into clause
* @param selectClause the select-clause
* @param whereClause where-expression or null
*/
public OnInsertSplitStreamItem(InsertIntoClause insertInto, SelectClause selectClause, Expression whereClause) {
this(insertInto, selectClause, null, null, whereClause);
}
/**
* Returns the insert-into clause.
*
* @return insert-into clause
*/
public InsertIntoClause getInsertInto() {
return insertInto;
}
/**
* Sets the insert-into clause.
*
* @param insertInto insert-into clause
*/
public void setInsertInto(InsertIntoClause insertInto) {
this.insertInto = insertInto;
}
/**
* Returns the select-clause.
*
* @return select-clause
*/
public SelectClause getSelectClause() {
return selectClause;
}
/**
* Sets the select-clause.
*
* @param selectClause select-clause
*/
public void setSelectClause(SelectClause selectClause) {
this.selectClause = selectClause;
}
/**
* Returns the optional where-clause.
*
* @return where-clause
*/
public Expression getWhereClause() {
return whereClause;
}
/**
* Sets the optional where-clause
*
* @param whereClause to set
*/
public void setWhereClause(Expression whereClause) {
this.whereClause = whereClause;
}
/**
* Returns contained-event selection, if any.
*
* @return list or null
*/
public List<ContainedEventSelect> getPropertySelects() {
return propertySelects;
}
/**
* Sets contained-event selection, if any.
*
* @param propertySelects list
*/
public void setPropertySelects(List<ContainedEventSelect> propertySelects) {
this.propertySelects = propertySelects;
}
/**
* Returns the stream name assigned to contained-event selects, or null
*
* @return stream name
*/
public String getPropertySelectsStreamName() {
return propertySelectsStreamName;
}
/**
* Sets the stream name assigned to contained-event selects, or null
*
* @param propertySelectsStreamName stream name
*/
public void setPropertySelectsStreamName(String propertySelectsStreamName) {
this.propertySelectsStreamName = propertySelectsStreamName;
}
}