[ https://issues.apache.org/jira/browse/FLINK-3708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15257831#comment-15257831 ]
ASF GitHub Bot commented on FLINK-3708: --------------------------------------- Github user StefanRRichter commented on a diff in the pull request: https://github.com/apache/flink/pull/1905#discussion_r61057258 --- Diff: flink-libraries/flink-cep-scala/src/main/scala/org/apache/flink/cep/scala/pattern/Pattern.scala --- @@ -0,0 +1,178 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.flink.cep.scala.pattern + +import org.apache.flink.api.common.functions.FilterFunction +import org.apache.flink.cep +import org.apache.flink.cep.pattern.{Pattern => JPattern} +import org.apache.flink.streaming.api.windowing.time.Time + +import scala.reflect.ClassTag + +/** + * Base class for a pattern definition. + * + * A pattern definition is used by [[org.apache.flink.cep.nfa.compiler.NFACompiler]] to create + * a [[org.apache.flink.cep.nfa.NFA]]. + * + * {{{ + * Pattern<T, F> pattern = Pattern.<T>begin("start") + * .next("middle").subtype(F.class) + * .followedBy("end").where(new MyFilterFunction()); + * } + * }}} + * + * @param jPattern Underlying Java API Pattern + * @tparam T Base type of the elements appearing in the pattern + * @tparam F Subtype of T to which the current pattern operator is constrained + */ +class Pattern[T: ClassTag, F <: T](jPattern: JPattern[T, F]) { + + private[flink] def getWrappedPattern = jPattern + + /** + * + * @return Name of the pattern operator + */ + def getName: String = jPattern.getName --- End diff -- Ok, I truly wasn't aware of that. But it makes sense of course :-) > Scala API for CEP > ----------------- > > Key: FLINK-3708 > URL: https://issues.apache.org/jira/browse/FLINK-3708 > Project: Flink > Issue Type: Improvement > Components: CEP > Affects Versions: 1.1.0 > Reporter: Till Rohrmann > Assignee: Stefan Richter > > Currently, The CEP library does not support Scala case classes, because the > {{TypeExtractor}} cannot handle them. In order to support them, it would be > necessary to offer a Scala API for the CEP library. -- This message was sent by Atlassian JIRA (v6.3.4#6332)