mirror of
https://github.com/ebean-orm/ebean.git
synced 2026-11-12 22:41:35 +00:00
#2318 - Refactor internals - final classes in el packages
This commit is contained in:
1 parent
285a94e5fe
commit
55587b12aa
10 files changed
+22
-62
No files matched your search
@@ -6,7 +6,7 @@ package io.ebeaninternal.server.el;
|
||||
* @author Roland Praml, FOCONIS AG
|
||||
*
|
||||
*/
|
||||
public class ElComparatorNoop<T> implements ElComparator<T> {
|
||||
public final class ElComparatorNoop<T> implements ElComparator<T> {
|
||||
|
||||
private static final long serialVersionUID = -9060871822183687180L;
|
||||
|
||||
|
||||
@@ -12,9 +12,7 @@ public final class ElComparatorProperty<T> implements Comparator<T>, ElComparato
|
||||
private static final long serialVersionUID = -2735738237263956073L;
|
||||
|
||||
private final ElPropertyValue elGetValue;
|
||||
|
||||
private final int nullOrder;
|
||||
|
||||
private final int asc;
|
||||
|
||||
public ElComparatorProperty(ElPropertyValue elGetValue, boolean ascending, boolean nullsHigh) {
|
||||
|
||||
@@ -14,11 +14,8 @@ import java.util.regex.Pattern;
|
||||
public final class ElFilter<T> implements Filter<T> {
|
||||
|
||||
private final BeanDescriptor<T> beanDescriptor;
|
||||
|
||||
private final ArrayList<ElMatcher<T>> matches = new ArrayList<>();
|
||||
|
||||
private int maxRows;
|
||||
|
||||
private String sortByClause;
|
||||
|
||||
public ElFilter(BeanDescriptor<T> beanDescriptor) {
|
||||
|
||||
@@ -8,12 +8,12 @@ import java.util.regex.Pattern;
|
||||
/**
|
||||
* Contains the various ElMatcher implementations.
|
||||
*/
|
||||
class ElMatchBuilder {
|
||||
final class ElMatchBuilder {
|
||||
|
||||
/**
|
||||
* Case insensitive equals.
|
||||
*/
|
||||
static class RegularExpr<T> implements ElMatcher<T> {
|
||||
static final class RegularExpr<T> implements ElMatcher<T> {
|
||||
|
||||
final ElPropertyValue elGetValue;
|
||||
final String value;
|
||||
@@ -49,7 +49,7 @@ class ElMatchBuilder {
|
||||
public abstract boolean isMatch(T bean);
|
||||
}
|
||||
|
||||
static class Ieq<T> extends BaseString<T> {
|
||||
static final class Ieq<T> extends BaseString<T> {
|
||||
Ieq(ElPropertyValue elGetValue, String value) {
|
||||
super(elGetValue, value);
|
||||
}
|
||||
@@ -64,7 +64,7 @@ class ElMatchBuilder {
|
||||
/**
|
||||
* Case insensitive starts with matcher.
|
||||
*/
|
||||
static class IStartsWith<T> implements ElMatcher<T> {
|
||||
static final class IStartsWith<T> implements ElMatcher<T> {
|
||||
|
||||
final ElPropertyValue elGetValue;
|
||||
final CharMatch charMatch;
|
||||
@@ -85,7 +85,7 @@ class ElMatchBuilder {
|
||||
/**
|
||||
* Case insensitive ends with matcher.
|
||||
*/
|
||||
static class IEndsWith<T> implements ElMatcher<T> {
|
||||
static final class IEndsWith<T> implements ElMatcher<T> {
|
||||
|
||||
final ElPropertyValue elGetValue;
|
||||
final CharMatch charMatch;
|
||||
@@ -103,7 +103,7 @@ class ElMatchBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
static class StartsWith<T> extends BaseString<T> {
|
||||
static final class StartsWith<T> extends BaseString<T> {
|
||||
StartsWith(ElPropertyValue elGetValue, String value) {
|
||||
super(elGetValue, value);
|
||||
}
|
||||
@@ -115,7 +115,7 @@ class ElMatchBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
static class EndsWith<T> extends BaseString<T> {
|
||||
static final class EndsWith<T> extends BaseString<T> {
|
||||
EndsWith(ElPropertyValue elGetValue, String value) {
|
||||
super(elGetValue, value);
|
||||
}
|
||||
@@ -127,7 +127,7 @@ class ElMatchBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
static class IsNull<T> implements ElMatcher<T> {
|
||||
static final class IsNull<T> implements ElMatcher<T> {
|
||||
|
||||
final ElPropertyValue elGetValue;
|
||||
|
||||
@@ -141,7 +141,7 @@ class ElMatchBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
static class IsNotNull<T> implements ElMatcher<T> {
|
||||
static final class IsNotNull<T> implements ElMatcher<T> {
|
||||
|
||||
final ElPropertyValue elGetValue;
|
||||
|
||||
@@ -170,7 +170,7 @@ class ElMatchBuilder {
|
||||
public abstract boolean isMatch(T value);
|
||||
}
|
||||
|
||||
static class InSet<T> implements ElMatcher<T> {
|
||||
static final class InSet<T> implements ElMatcher<T> {
|
||||
|
||||
final Set<?> set;
|
||||
final ElPropertyValue elGetValue;
|
||||
@@ -183,7 +183,6 @@ class ElMatchBuilder {
|
||||
|
||||
@Override
|
||||
public boolean isMatch(T bean) {
|
||||
|
||||
Object value = elGetValue.pathGet(bean);
|
||||
return value != null && set.contains(value);
|
||||
}
|
||||
@@ -192,7 +191,7 @@ class ElMatchBuilder {
|
||||
/**
|
||||
* Equal To.
|
||||
*/
|
||||
static class Eq<T> extends Base<T> {
|
||||
static final class Eq<T> extends Base<T> {
|
||||
|
||||
public Eq(Object filterValue, ElComparator<T> comparator) {
|
||||
super(filterValue, comparator);
|
||||
@@ -207,7 +206,7 @@ class ElMatchBuilder {
|
||||
/**
|
||||
* Not Equal To.
|
||||
*/
|
||||
static class Ne<T> extends Base<T> {
|
||||
static final class Ne<T> extends Base<T> {
|
||||
|
||||
public Ne(Object filterValue, ElComparator<T> comparator) {
|
||||
super(filterValue, comparator);
|
||||
@@ -222,7 +221,7 @@ class ElMatchBuilder {
|
||||
/**
|
||||
* Between.
|
||||
*/
|
||||
static class Between<T> implements ElMatcher<T> {
|
||||
static final class Between<T> implements ElMatcher<T> {
|
||||
|
||||
final Object min;
|
||||
final Object max;
|
||||
@@ -236,7 +235,6 @@ class ElMatchBuilder {
|
||||
|
||||
@Override
|
||||
public boolean isMatch(T value) {
|
||||
|
||||
return (comparator.compareValue(min, value) <= 0
|
||||
&& comparator.compareValue(max, value) >= 0);
|
||||
}
|
||||
@@ -245,7 +243,7 @@ class ElMatchBuilder {
|
||||
/**
|
||||
* Greater Than.
|
||||
*/
|
||||
static class Gt<T> extends Base<T> {
|
||||
static final class Gt<T> extends Base<T> {
|
||||
Gt(Object filterValue, ElComparator<T> comparator) {
|
||||
super(filterValue, comparator);
|
||||
}
|
||||
@@ -259,7 +257,7 @@ class ElMatchBuilder {
|
||||
/**
|
||||
* Greater Than or Equal To.
|
||||
*/
|
||||
static class Ge<T> extends Base<T> {
|
||||
static final class Ge<T> extends Base<T> {
|
||||
Ge(Object filterValue, ElComparator<T> comparator) {
|
||||
super(filterValue, comparator);
|
||||
}
|
||||
@@ -273,7 +271,7 @@ class ElMatchBuilder {
|
||||
/**
|
||||
* Less Than or Equal To.
|
||||
*/
|
||||
static class Le<T> extends Base<T> {
|
||||
static final class Le<T> extends Base<T> {
|
||||
Le(Object filterValue, ElComparator<T> comparator) {
|
||||
super(filterValue, comparator);
|
||||
}
|
||||
@@ -287,7 +285,7 @@ class ElMatchBuilder {
|
||||
/**
|
||||
* Less Than.
|
||||
*/
|
||||
static class Lt<T> extends Base<T> {
|
||||
static final class Lt<T> extends Base<T> {
|
||||
Lt(Object filterValue, ElComparator<T> comparator) {
|
||||
super(filterValue, comparator);
|
||||
}
|
||||
|
||||
@@ -22,30 +22,22 @@ import java.util.Arrays;
|
||||
* no further processing of the chain occurs.
|
||||
* </p>
|
||||
*/
|
||||
public class ElPropertyChain implements ElPropertyValue {
|
||||
public final class ElPropertyChain implements ElPropertyValue {
|
||||
|
||||
private final String prefix;
|
||||
|
||||
private final String placeHolder;
|
||||
private final String placeHolderEncrypted;
|
||||
|
||||
private final String name;
|
||||
|
||||
private final String expression;
|
||||
|
||||
private final boolean containsMany;
|
||||
|
||||
private final ElPropertyValue[] chain;
|
||||
|
||||
private final boolean assocId;
|
||||
private final int last;
|
||||
private final BeanProperty lastBeanProperty;
|
||||
private final ScalarType<?> scalarType;
|
||||
|
||||
private final ElPropertyValue lastElPropertyValue;
|
||||
|
||||
public ElPropertyChain(boolean containsMany, boolean embedded, String expression, ElPropertyValue[] chain) {
|
||||
|
||||
this.containsMany = containsMany;
|
||||
this.chain = chain;
|
||||
this.expression = expression;
|
||||
@@ -119,15 +111,12 @@ public class ElPropertyChain implements ElPropertyValue {
|
||||
if (!expression.startsWith(sinceProperty)) {
|
||||
return containsMany;
|
||||
}
|
||||
|
||||
int i = 1 + SplitName.count(sinceProperty);
|
||||
|
||||
for (; i < chain.length; i++) {
|
||||
if (chain[i].getBeanProperty().containsMany()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -281,7 +270,6 @@ public class ElPropertyChain implements ElPropertyValue {
|
||||
|
||||
@Override
|
||||
public Object pathGetNested(Object bean) {
|
||||
|
||||
Object prevBean = bean;
|
||||
for (int i = 0; i < last; i++) {
|
||||
// always return non null prevBean
|
||||
@@ -293,7 +281,6 @@ public class ElPropertyChain implements ElPropertyValue {
|
||||
|
||||
@Override
|
||||
public void pathSet(Object bean, Object value) {
|
||||
|
||||
Object prevBean = bean;
|
||||
for (int i = 0; i < last; i++) {
|
||||
prevBean = chain[i].pathGetNested(prevBean);
|
||||
@@ -310,5 +297,4 @@ public class ElPropertyChain implements ElPropertyValue {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -13,14 +13,11 @@ import java.util.List;
|
||||
* order.customer.name.
|
||||
* </p>
|
||||
*/
|
||||
public class ElPropertyChainBuilder {
|
||||
public final class ElPropertyChainBuilder {
|
||||
|
||||
private final String expression;
|
||||
|
||||
private final List<ElPropertyValue> chain = new ArrayList<>();
|
||||
|
||||
private boolean embedded;
|
||||
|
||||
private boolean containsMany;
|
||||
|
||||
/**
|
||||
|
||||
-2
@@ -15,9 +15,7 @@ public final class DaemonScheduleThreadPool extends ScheduledThreadPoolExecutor
|
||||
private static final Logger logger = LoggerFactory.getLogger(DaemonScheduleThreadPool.class);
|
||||
|
||||
private final ReentrantLock lock = new ReentrantLock();
|
||||
|
||||
private final String namePrefix;
|
||||
|
||||
private final int shutdownWaitSeconds;
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,10 +13,9 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||
* on shutdown or register with the JVM shutdown hook to perform a nice shutdown
|
||||
* of the daemon threads etc.
|
||||
*/
|
||||
public class DaemonThreadFactory implements ThreadFactory {
|
||||
public final class DaemonThreadFactory implements ThreadFactory {
|
||||
|
||||
private final AtomicInteger threadNumber = new AtomicInteger(1);
|
||||
|
||||
private final String namePrefix;
|
||||
|
||||
public DaemonThreadFactory(String namePrefix) {
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ import java.util.concurrent.TimeUnit;
|
||||
/**
|
||||
* The default implementation of the BackgroundExecutor.
|
||||
*/
|
||||
public class DefaultBackgroundExecutor implements SpiBackgroundExecutor {
|
||||
public final class DefaultBackgroundExecutor implements SpiBackgroundExecutor {
|
||||
|
||||
private final ScheduledExecutorService executor;
|
||||
|
||||
|
||||
-13
@@ -19,15 +19,11 @@ import java.util.Map;
|
||||
public class DefaultReadAuditLogger implements ReadAuditLogger {
|
||||
|
||||
private static final Logger appLogger = LoggerFactory.getLogger(DefaultReadAuditLogger.class);
|
||||
|
||||
private static final Logger queryLogger = LoggerFactory.getLogger("io.ebean.ReadAuditQuery");
|
||||
|
||||
private static final Logger auditLogger = LoggerFactory.getLogger("io.ebean.ReadAudit");
|
||||
|
||||
protected final JsonFactory jsonFactory = new JsonFactory();
|
||||
|
||||
protected int defaultQueryBuffer = 500;
|
||||
|
||||
protected int defaultReadBuffer = 150;
|
||||
|
||||
/**
|
||||
@@ -37,7 +33,6 @@ public class DefaultReadAuditLogger implements ReadAuditLogger {
|
||||
public void queryPlan(ReadAuditQueryPlan queryPlan) {
|
||||
StringWriter writer = new StringWriter(defaultQueryBuffer);
|
||||
try (JsonGenerator gen = jsonFactory.createGenerator(writer)) {
|
||||
|
||||
gen.writeStartObject();
|
||||
String beanType = queryPlan.getBeanType();
|
||||
if (beanType != null) {
|
||||
@@ -53,9 +48,7 @@ public class DefaultReadAuditLogger implements ReadAuditLogger {
|
||||
}
|
||||
gen.writeEndObject();
|
||||
gen.flush();
|
||||
|
||||
queryLogger.info(writer.toString());
|
||||
|
||||
} catch (IOException e) {
|
||||
appLogger.error("Error writing Read audit event", e);
|
||||
}
|
||||
@@ -66,7 +59,6 @@ public class DefaultReadAuditLogger implements ReadAuditLogger {
|
||||
*/
|
||||
@Override
|
||||
public void auditBean(ReadEvent beanEvent) {
|
||||
|
||||
writeEvent(beanEvent);
|
||||
}
|
||||
|
||||
@@ -79,14 +71,11 @@ public class DefaultReadAuditLogger implements ReadAuditLogger {
|
||||
}
|
||||
|
||||
protected void writeEvent(ReadEvent event) {
|
||||
|
||||
try {
|
||||
StringWriter writer = new StringWriter(defaultReadBuffer);
|
||||
JsonGenerator gen = jsonFactory.createGenerator(writer);
|
||||
writeDetails(gen, event);
|
||||
|
||||
auditLogger.info(writer.toString());
|
||||
|
||||
} catch (IOException e) {
|
||||
appLogger.error("Error writing Read audit event", e);
|
||||
}
|
||||
@@ -96,7 +85,6 @@ public class DefaultReadAuditLogger implements ReadAuditLogger {
|
||||
* Write the details for the read bean or read many beans event.
|
||||
*/
|
||||
protected void writeDetails(JsonGenerator gen, ReadEvent event) throws IOException {
|
||||
|
||||
gen.writeStartObject();
|
||||
String source = event.getSource();
|
||||
if (source != null) {
|
||||
@@ -130,7 +118,6 @@ public class DefaultReadAuditLogger implements ReadAuditLogger {
|
||||
gen.writeFieldName("ids");
|
||||
EJson.writeCollection(event.getIds(), gen);
|
||||
}
|
||||
|
||||
gen.writeEndObject();
|
||||
gen.flush();
|
||||
gen.close();
|
||||
|
||||
Reference in new issue
Block a user