/// <summary>Ctor. </summary> /// <param name="streamSelector">selects the stream</param> /// <param name="selectList">is a list of elements in the select-clause</param> protected SelectClause( StreamSelector streamSelector, List <SelectClauseElement> selectList) { _streamSelector = streamSelector; _selectList = selectList; }
/// <summary>Renders the clause in textual representation. </summary> /// <param name="writer">to output to</param> /// <param name="formatter">for NewLine-whitespace formatting</param> /// <param name="isTopLevel">to indicate if this insert-into-clause is inside other clauses.</param> public void ToEPL( TextWriter writer, EPStatementFormatter formatter, bool isTopLevel) { formatter.BeginInsertInto(writer, isTopLevel); writer.Write("insert "); if (StreamSelector != StreamSelector.ISTREAM_ONLY) { writer.Write(StreamSelector.GetEPL()); writer.Write(" "); } writer.Write("into "); writer.Write(StreamName); if (ColumnNames.Count > 0) { writer.Write("("); string delimiter = ""; foreach (var name in ColumnNames) { writer.Write(delimiter); writer.Write(name); delimiter = ", "; } writer.Write(")"); } }
/// <summary>Creates a wildcard select-clause, additional expressions can still be added. </summary> /// <param name="streamSelector">can be used to select insert or remove streams</param> /// <returns>select-clause</returns> public static SelectClause CreateWildcard(StreamSelector streamSelector) { var selectList = new List <SelectClauseElement>(); selectList.Add(new SelectClauseWildcard()); return(new SelectClause(streamSelector, selectList)); }
/// <summary>Creates the insert-into clause. </summary> /// <param name="streamName">the name of the stream to insert into</param> /// <param name="columns">is a list of column names</param> /// <param name="streamSelector">selects the stream</param> /// <returns>clause</returns> public static InsertIntoClause Create(string streamName, string[] columns, StreamSelector streamSelector) { if (streamSelector == StreamSelector.RSTREAM_ISTREAM_BOTH) { throw new ArgumentException("Insert into only allows istream or rstream selection, not both"); } return(new InsertIntoClause(streamName, columns, streamSelector)); }
/// <summary>Ctor. </summary> /// <param name="streamName">is the stream name to insert into</param> /// <param name="columnNames">column names</param> /// <param name="streamSelector">selector for either insert stream (the default) or remove stream or both</param> public InsertIntoClause( string streamName, IList <string> columnNames, StreamSelector streamSelector) { StreamSelector = streamSelector; StreamName = streamName; ColumnNames = columnNames; }
/// <summary>Creates a select-clause consisting of a list of property names. </summary> /// <param name="propertyNames">is the names of properties to select</param> /// <param name="streamSelector">can be used to select insert or remove streams</param> /// <returns>select-clause</returns> public static SelectClause Create(StreamSelector streamSelector, params String[] propertyNames) { var selectList = new List <SelectClauseElement>(); foreach (String name in propertyNames) { selectList.Add(new SelectClauseExpression(new PropertyValueExpression(name))); } return(new SelectClause(streamSelector, selectList)); }
/// <summary>Maps the SODA-selector to the internal representation</summary> /// <param name="selector">is the SODA-selector to map</param> /// <returns>internal stream selector</returns> public static SelectClauseStreamSelectorEnum MapFromSODA(this StreamSelector selector) { switch (selector) { case StreamSelector.ISTREAM_ONLY: return(SelectClauseStreamSelectorEnum.ISTREAM_ONLY); case StreamSelector.RSTREAM_ONLY: return(SelectClauseStreamSelectorEnum.RSTREAM_ONLY); case StreamSelector.RSTREAM_ISTREAM_BOTH: return(SelectClauseStreamSelectorEnum.RSTREAM_ISTREAM_BOTH); default: throw new ArgumentException("Invalid selector '" + selector + "' encountered"); } }
public static string GetEPL(this StreamSelector enumValue) { switch (enumValue) { case StreamSelector.RSTREAM_ONLY: return "rstream"; case StreamSelector.ISTREAM_ONLY: return "istream"; case StreamSelector.RSTREAM_ISTREAM_BOTH: return "irstream"; default: throw new ArgumentException("invalid value for enum value", nameof(enumValue)); } }
/// <summary>Creates an empty select-clause. </summary> /// <param name="streamSelector">can be used to select insert or remove streams</param> /// <returns>select-clause</returns> public static SelectClause Create(StreamSelector streamSelector) { return(new SelectClause(streamSelector, new List <SelectClauseElement>())); }
/// <summary>Sets the stream selector. </summary> /// <param name="streamSelector">stream selector to set</param> public SelectClause SetStreamSelector(StreamSelector streamSelector) { _streamSelector = streamSelector; return(this); }
// Constructor internal AudioStreamSwitcher(ItvApp.AddIn addin) { _streamSelector = addin.StreamSelector; _audioStreams = new List <StreamInfo>(); }