public interface  org.apache.dubbo.common.function.Streams extends java.lang.Object
{
public static java.util.stream.Stream filterStream(java.lang.Iterable, java.util.function.Predicate)
{
java.util.stream.Stream v, v;
java.util.function.Predicate v;
java.util.Spliterator v;
java.lang.Iterable v;
v := @parameter: java.lang.Iterable;
v := @parameter: java.util.function.Predicate;
v = interfaceinvoke v.<java.lang.Iterable: java.util.Spliterator spliterator()>();
v = staticinvoke <java.util.stream.StreamSupport: java.util.stream.Stream stream(java.util.Spliterator,boolean)>(v, 0);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
return v;
}
public static java.util.List filterList(java.lang.Iterable, java.util.function.Predicate)
{
java.util.stream.Stream v;
java.util.function.Predicate v;
java.lang.Object v;
java.util.stream.Collector v;
java.lang.Iterable v;
v := @parameter: java.lang.Iterable;
v := @parameter: java.util.function.Predicate;
v = staticinvoke <org.apache.dubbo.common.function.Streams: java.util.stream.Stream filterStream(java.lang.Iterable,java.util.function.Predicate)>(v, v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public static java.util.Set filterSet(java.lang.Iterable, java.util.function.Predicate)
{
java.util.stream.Stream v;
java.util.function.Predicate v;
java.util.function.BiConsumer v, v;
java.lang.Object v;
java.util.function.Supplier v;
java.lang.Iterable v;
v := @parameter: java.lang.Iterable;
v := @parameter: java.util.function.Predicate;
v = staticinvoke <org.apache.dubbo.common.function.Streams: java.util.stream.Stream filterStream(java.lang.Iterable,java.util.function.Predicate)>(v, v);
v = staticinvoke <org.apache.dubbo.common.function.Streams$init__213: java.util.function.Supplier bootstrap$()>();
v = staticinvoke <org.apache.dubbo.common.function.Streams$add__214: java.util.function.BiConsumer bootstrap$()>();
v = staticinvoke <org.apache.dubbo.common.function.Streams$addAll__215: java.util.function.BiConsumer bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.function.Supplier,java.util.function.BiConsumer,java.util.function.BiConsumer)>(v, v, v);
return v;
}
public static java.lang.Iterable filter(java.lang.Iterable, java.util.function.Predicate)
{
java.util.function.Predicate v;
java.util.Collection v;
java.lang.Class v, v;
java.lang.Iterable v;
boolean v;
v := @parameter: java.lang.Iterable;
v := @parameter: java.util.function.Predicate;
v = class "Ljava/util/Set;";
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.dubbo.common.function.Streams: java.util.Set filterSet(java.lang.Iterable,java.util.function.Predicate)>(v, v);
goto label;
label:
v = staticinvoke <org.apache.dubbo.common.function.Streams: java.util.List filterList(java.lang.Iterable,java.util.function.Predicate)>(v, v);
label:
return v;
}
public static transient java.lang.Iterable filterAll(java.lang.Iterable, java.util.function.Predicate[])
{
java.util.function.Predicate v;
java.util.function.Predicate[] v;
java.lang.Iterable v, v;
v := @parameter: java.lang.Iterable;
v := @parameter: java.util.function.Predicate[];
v = staticinvoke <org.apache.dubbo.common.function.Predicates: java.util.function.Predicate and(java.util.function.Predicate[])>(v);
v = staticinvoke <org.apache.dubbo.common.function.Streams: java.lang.Iterable filter(java.lang.Iterable,java.util.function.Predicate)>(v, v);
return v;
}
public static transient java.lang.Iterable filterAny(java.lang.Iterable, java.util.function.Predicate[])
{
java.util.function.Predicate v;
java.util.function.Predicate[] v;
java.lang.Iterable v, v;
v := @parameter: java.lang.Iterable;
v := @parameter: java.util.function.Predicate[];
v = staticinvoke <org.apache.dubbo.common.function.Predicates: java.util.function.Predicate or(java.util.function.Predicate[])>(v);
v = staticinvoke <org.apache.dubbo.common.function.Streams: java.lang.Iterable filter(java.lang.Iterable,java.util.function.Predicate)>(v, v);
return v;
}
public static transient java.lang.Object filterFirst(java.lang.Iterable, java.util.function.Predicate[])
{
java.util.function.Predicate v;
java.lang.Iterable v;
java.util.stream.Stream v, v;
java.util.function.Predicate[] v;
java.util.Optional v;
java.lang.Object v;
java.util.Spliterator v;
v := @parameter: java.lang.Iterable;
v := @parameter: java.util.function.Predicate[];
v = interfaceinvoke v.<java.lang.Iterable: java.util.Spliterator spliterator()>();
v = staticinvoke <java.util.stream.StreamSupport: java.util.stream.Stream stream(java.util.Spliterator,boolean)>(v, 0);
v = staticinvoke <org.apache.dubbo.common.function.Predicates: java.util.function.Predicate and(java.util.function.Predicate[])>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
return v;
}
}