com.espertech.esper.client.soda.SchemaColumnDesc Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of esper Show documentation
Show all versions of esper Show documentation
Complex event processing and event series analysis component
The newest version!
/*
***************************************************************************************
* 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.io.StringWriter;
/**
* Descriptor for use in create-schema syntax to define property name and type of an event property.
*/
public class SchemaColumnDesc implements Serializable {
private static final long serialVersionUID = 5068685531968720148L;
private String name;
private String type;
private boolean array;
private boolean primitiveArray;
/**
* Ctor.
*/
public SchemaColumnDesc() {
}
/**
* Ctor.
*
* @param name column name
* @param type type name
* @param array array flag
*/
public SchemaColumnDesc(String name, String type, boolean array) {
this.name = name;
this.type = type;
this.array = array;
}
/**
* Ctor.
*
* @param name property name
* @param type property type, can be any simple class name or fully-qualified class name or existing event type name
* @param array true for array property
* @param primitiveArray true for array of primitive (requires array property to be set and a primitive type)
*/
public SchemaColumnDesc(String name, String type, boolean array, boolean primitiveArray) {
this.name = name;
this.type = type;
this.array = array;
this.primitiveArray = primitiveArray;
}
/**
* Returns property name.
*
* @return name
*/
public String getName() {
return name;
}
/**
* Returns property type.
*
* @return type
*/
public String getType() {
return type;
}
/**
* Returns true for array properties.
*
* @return indicator
*/
public boolean isArray() {
return array;
}
/**
* Set property name.
*
* @param name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* Set property type.
*
* @param type type
*/
public void setType(String type) {
this.type = type;
}
/**
* Set array indicator.
*
* @param array indicator
*/
public void setArray(boolean array) {
this.array = array;
}
/**
* Returns indicator whether array of primitives (requires array and a primitive type)
*
* @return indicator
*/
public boolean isPrimitiveArray() {
return primitiveArray;
}
/**
* Sets indicator whether array of primitives (requires array and a primitive type)
*
* @param primitiveArray indicator
*/
public void setPrimitiveArray(boolean primitiveArray) {
this.primitiveArray = primitiveArray;
}
/**
* Render to EPL.
*
* @param writer to render to
*/
public void toEPL(StringWriter writer) {
writer.write(name);
writer.write(' ');
writer.write(type);
if (array) {
if (primitiveArray) {
writer.write("[primitive]");
} else {
writer.write("[]");
}
}
}
}