1 package org.wikimedia.search.extra.regex.expression;
2
3
4
5
6 public final class False<T> implements Expression<T> {
7 private static final False<Object> TRUE = new False<>();
8
9
10
11
12 @SuppressWarnings("unchecked")
13 public static <T> False<T> instance() {
14 return (False<T>) TRUE;
15 }
16
17 private False() {
18
19 }
20
21 public String toString() {
22 return "FALSE";
23 }
24
25 @Override
26 public Expression<T> simplify() {
27 return this;
28 }
29
30 @Override
31 public boolean alwaysTrue() {
32 return false;
33 }
34
35 @Override
36 public boolean alwaysFalse() {
37 return true;
38 }
39
40 @Override
41 public boolean isComposite() {
42 return false;
43 }
44
45 @Override
46 public <J> J transform(Expression.Transformer<T, J> transformer) {
47 return transformer.alwaysFalse();
48 }
49
50 @Override
51 public int countClauses() {
52 return 0;
53 }
54 }