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

com.spikeify.aerospikeql.parse.fields.statements.TransformationStatement Maven / Gradle / Ivy

The newest version!
package com.spikeify.aerospikeql.parse.fields.statements;

/**
 * Created by roman on 09/08/15.
 *
 * TransformationStatement is a field in select statements that makes a transformation on a field. E.g. select day(timestamp)
 */
public class TransformationStatement implements Statement {

	private final String alias;
	private final String condition;
	private final boolean nested;


	private TransformationStatement(String alias, String condition, boolean nested) {
		this.alias = alias;
		this.condition = condition;
		this.nested = nested;
	}

	@Override
	public String getAlias() {
		return alias;
	}

	public String getCondition() {
		return condition;
	}

	@Override
	public boolean isNested() {
		return nested;
	}


	public static class TransformationFieldBuilder {
		private String alias;
		private String condition;
		private boolean nested;

		public TransformationFieldBuilder setAlias(String alias) {
			this.alias = alias;
			return this;
		}

		public TransformationFieldBuilder setCondition(String condition) {
			this.condition = condition;
			return this;
		}

		public TransformationFieldBuilder setNested(boolean nested) {
			this.nested = nested;
			return this;
		}

		public TransformationStatement createTransformationField() {
			return new TransformationStatement(alias, condition, nested);
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy