mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
add missing @override (#975)
* no effective code change: add missing @override in "io.ebean.*" package * no effective code change: add missing @override in "io.ebeaninternal.api.*" package * no effective code change: add missing @override in "io.ebeaninternal.server.*" package * no effective code change: add missing @override in "io.ebeaninternal.util.*" package * no effective code change: add missing @override in "io.ebeanservice.*" package * no effective code change: add missing @override in "src/test/java/"
This commit is contained in:
committed by
Rob Bygrave
parent
43c978e41a
commit
40f5596837
@@ -162,6 +162,7 @@ public final class OrderBy<T> implements Serializable {
|
||||
list.add(p);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return list.toString();
|
||||
}
|
||||
@@ -201,6 +202,7 @@ public final class OrderBy<T> implements Serializable {
|
||||
* Return a hash value for this OrderBy. This can be to determine logical
|
||||
* equality for OrderBy clauses.
|
||||
*/
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return list.hashCode();
|
||||
}
|
||||
@@ -276,6 +278,7 @@ public final class OrderBy<T> implements Serializable {
|
||||
return highLow != null ? highLow.equals(e.highLow) : e.highLow == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return toStringFormat();
|
||||
}
|
||||
|
||||
@@ -61,20 +61,24 @@ public interface QueryIterator<T> extends Iterator<T>, java.io.Closeable {
|
||||
/**
|
||||
* Returns <tt>true</tt> if the iteration has more elements.
|
||||
*/
|
||||
@Override
|
||||
boolean hasNext();
|
||||
|
||||
/**
|
||||
* Returns the next element in the iteration.
|
||||
*/
|
||||
@Override
|
||||
T next();
|
||||
|
||||
/**
|
||||
* Remove is not allowed.
|
||||
*/
|
||||
@Override
|
||||
void remove();
|
||||
|
||||
/**
|
||||
* Close the underlying resources held by this iterator.
|
||||
*/
|
||||
@Override
|
||||
void close();
|
||||
}
|
||||
|
||||
@@ -292,6 +292,7 @@ public final class RawSql implements Serializable {
|
||||
this.distinct = distinct;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
if (!parsed) {
|
||||
return "unparsed[" + unparsedSql + "]";
|
||||
@@ -642,6 +643,7 @@ public final class RawSql implements Serializable {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return dbColumn + "->" + propertyName;
|
||||
}
|
||||
|
||||
@@ -39,16 +39,19 @@ public interface SqlRow extends Serializable, Map<String, Object> {
|
||||
/**
|
||||
* Remove a property from the map. Returns the value of the removed property.
|
||||
*/
|
||||
@Override
|
||||
Object remove(Object name);
|
||||
|
||||
/**
|
||||
* Return a property value by its name.
|
||||
*/
|
||||
@Override
|
||||
Object get(Object name);
|
||||
|
||||
/**
|
||||
* Set a value to a property.
|
||||
*/
|
||||
@Override
|
||||
Object put(String name, Object value);
|
||||
|
||||
/**
|
||||
@@ -118,51 +121,61 @@ public interface SqlRow extends Serializable, Map<String, Object> {
|
||||
/**
|
||||
* String description of the underlying map.
|
||||
*/
|
||||
@Override
|
||||
String toString();
|
||||
|
||||
/**
|
||||
* Clear the map.
|
||||
*/
|
||||
@Override
|
||||
void clear();
|
||||
|
||||
/**
|
||||
* Returns true if the map contains the property.
|
||||
*/
|
||||
@Override
|
||||
boolean containsKey(Object key);
|
||||
|
||||
/**
|
||||
* Returns true if the map contains the value.
|
||||
*/
|
||||
@Override
|
||||
boolean containsValue(Object value);
|
||||
|
||||
/**
|
||||
* Returns the entrySet of the map.
|
||||
*/
|
||||
@Override
|
||||
Set<Map.Entry<String, Object>> entrySet();
|
||||
|
||||
/**
|
||||
* Returns true if the map is empty.
|
||||
*/
|
||||
@Override
|
||||
boolean isEmpty();
|
||||
|
||||
/**
|
||||
* Returns the key set of the map.
|
||||
*/
|
||||
@Override
|
||||
Set<String> keySet();
|
||||
|
||||
/**
|
||||
* Put all the values from t into this map.
|
||||
*/
|
||||
@Override
|
||||
void putAll(Map<? extends String, ?> t);
|
||||
|
||||
/**
|
||||
* Return the size of the map.
|
||||
*/
|
||||
@Override
|
||||
int size();
|
||||
|
||||
/**
|
||||
* Return the values from this map.
|
||||
*/
|
||||
@Override
|
||||
Collection<Object> values();
|
||||
|
||||
}
|
||||
|
||||
@@ -101,6 +101,7 @@ public final class TxScope {
|
||||
/**
|
||||
* Describes this TxScope instance.
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TxScope[" + type + "] readOnly[" + readOnly + "] isolation[" + isolation
|
||||
+ "] serverName[" + serverName + "] rollbackFor[" + rollbackFor + "] noRollbackFor[" + noRollbackFor + "]";
|
||||
|
||||
@@ -51,6 +51,7 @@ public class ValuePair {
|
||||
this.oldValue = oldValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return newValue + "," + oldValue;
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ public final class CallStack implements Serializable {
|
||||
this.pathHash = enc(pathHash);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hc = 0;
|
||||
for (StackTraceElement aCallStack : callStack) {
|
||||
@@ -40,6 +41,7 @@ public final class CallStack implements Serializable {
|
||||
return hc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
@@ -79,6 +81,7 @@ public final class CallStack implements Serializable {
|
||||
return pathHash;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return zeroHash + ":" + pathHash + ":" + callStack[0];
|
||||
}
|
||||
|
||||
@@ -120,6 +120,7 @@ public final class NodeUsageCollector {
|
||||
return loadProperty;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return node + " read:" + used + " modified:" + modified;
|
||||
}
|
||||
|
||||
@@ -63,16 +63,19 @@ public final class ObjectGraphNode implements Serializable {
|
||||
return path;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "origin:" + originQueryPoint + " path[" + path + "]";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hc = 92821 * originQueryPoint.hashCode();
|
||||
hc = 92821 * hc + (path == null ? 0 : path.hashCode());
|
||||
return hc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
|
||||
@@ -57,10 +57,12 @@ public final class ObjectGraphOrigin implements Serializable {
|
||||
return callStack.getFirstStackTraceElement().toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "key[" + key + "] type[" + beanType + "] " + callStack.getFirstStackTraceElement() + " ";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hc = 92821 * callStack.hashCode();
|
||||
hc = 92821 * hc + beanType.hashCode();
|
||||
@@ -68,6 +70,7 @@ public final class ObjectGraphOrigin implements Serializable {
|
||||
return hc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
|
||||
@@ -39,6 +39,7 @@ public class ServerCacheStatistics {
|
||||
|
||||
protected long evictByLRU;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
//noinspection StringBufferReplaceableByString
|
||||
StringBuilder sb = new StringBuilder(80);
|
||||
|
||||
@@ -68,18 +68,22 @@ abstract class AbstractBeanCollection<E> implements BeanCollection<E> {
|
||||
this.readOnly = ownerBean._ebean_getIntercept().isReadOnly();
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityBean getOwnerBean() {
|
||||
return ownerBean;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPropertyName() {
|
||||
return propertyName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExpressionList<?> getFilterMany() {
|
||||
return filterMany;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFilterMany(ExpressionList<?> filterMany) {
|
||||
this.filterMany = filterMany;
|
||||
}
|
||||
@@ -104,20 +108,24 @@ abstract class AbstractBeanCollection<E> implements BeanCollection<E> {
|
||||
checkEmptyLazyLoad();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRegisteredWithLoadContext() {
|
||||
return registeredWithLoadContext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLoader(BeanCollectionLoader loader) {
|
||||
this.registeredWithLoadContext = true;
|
||||
this.loader = loader;
|
||||
this.ebeanServerName = loader.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isReadOnly() {
|
||||
return readOnly;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setReadOnly(boolean readOnly) {
|
||||
this.readOnly = readOnly;
|
||||
}
|
||||
@@ -136,6 +144,7 @@ abstract class AbstractBeanCollection<E> implements BeanCollection<E> {
|
||||
/**
|
||||
* set modifyListening to be on or off.
|
||||
*/
|
||||
@Override
|
||||
public void setModifyListening(ModifyListenMode mode) {
|
||||
|
||||
this.modifyListenMode = mode;
|
||||
@@ -162,24 +171,28 @@ abstract class AbstractBeanCollection<E> implements BeanCollection<E> {
|
||||
return modifyHolder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyAddition(E bean) {
|
||||
if (modifyAddListening) {
|
||||
getModifyHolder().modifyAddition(bean);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyRemoval(Object bean) {
|
||||
if (modifyRemoveListening) {
|
||||
getModifyHolder().modifyRemoval(bean);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyReset() {
|
||||
if (modifyHolder != null) {
|
||||
modifyHolder.reset();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<E> getModifyAdditions() {
|
||||
if (modifyHolder == null) {
|
||||
return null;
|
||||
@@ -188,6 +201,7 @@ abstract class AbstractBeanCollection<E> implements BeanCollection<E> {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<E> getModifyRemovals() {
|
||||
if (modifyHolder == null) {
|
||||
return null;
|
||||
|
||||
@@ -59,6 +59,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list == null || (list.isEmpty() && !holdsModifications());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public void addEntityBean(EntityBean bean) {
|
||||
list.add((E) bean);
|
||||
@@ -73,6 +74,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
list.addAll((Collection<? extends E>) other.getActualDetails());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public void internalAdd(Object bean) {
|
||||
if (list == null) {
|
||||
@@ -102,6 +104,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkEmptyLazyLoad() {
|
||||
if (list == null) {
|
||||
list = new ArrayList<>();
|
||||
@@ -153,6 +156,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<E> getActualDetails() {
|
||||
return list;
|
||||
}
|
||||
@@ -165,6 +169,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
/**
|
||||
* Return true if the underlying list is populated.
|
||||
*/
|
||||
@Override
|
||||
public boolean isPopulated() {
|
||||
return list != null;
|
||||
}
|
||||
@@ -173,10 +178,12 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
* Return true if this is a reference (lazy loading) bean collection. This is
|
||||
* the same as !isPopulated();
|
||||
*/
|
||||
@Override
|
||||
public boolean isReference() {
|
||||
return list == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder(50);
|
||||
sb.append("BeanList ");
|
||||
@@ -201,11 +208,13 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
* test.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
init();
|
||||
return list.equals(obj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
init();
|
||||
return list.hashCode();
|
||||
@@ -219,6 +228,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
// proxy method for List
|
||||
// -----------------------------------------------------//
|
||||
|
||||
@Override
|
||||
public void add(int index, E element) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -233,6 +243,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
add(bean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean add(E o) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -247,6 +258,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list.add(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addAll(Collection<? extends E> c) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -257,6 +269,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list.addAll(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addAll(int index, Collection<? extends E> c) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -267,6 +280,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list.addAll(index, c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
checkReadOnly();
|
||||
// TODO: when clear() and not initialised could be more clever
|
||||
@@ -280,31 +294,37 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
list.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean contains(Object o) {
|
||||
init();
|
||||
return list.contains(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsAll(Collection<?> c) {
|
||||
init();
|
||||
return list.containsAll(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public E get(int index) {
|
||||
init();
|
||||
return list.get(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int indexOf(Object o) {
|
||||
init();
|
||||
return list.indexOf(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
init();
|
||||
return list.isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<E> iterator() {
|
||||
init();
|
||||
if (isReadOnly()) {
|
||||
@@ -317,11 +337,13 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list.iterator();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int lastIndexOf(Object o) {
|
||||
init();
|
||||
return list.lastIndexOf(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListIterator<E> listIterator() {
|
||||
init();
|
||||
if (isReadOnly()) {
|
||||
@@ -334,6 +356,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list.listIterator();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListIterator<E> listIterator(int index) {
|
||||
init();
|
||||
if (isReadOnly()) {
|
||||
@@ -353,6 +376,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public E remove(int index) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -364,6 +388,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list.remove(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean remove(Object o) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -377,6 +402,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list.remove(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeAll(Collection<?> beans) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -394,6 +420,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list.removeAll(beans);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean retainAll(Collection<?> retainBeans) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -414,6 +441,7 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list.retainAll(retainBeans);
|
||||
}
|
||||
|
||||
@Override
|
||||
public E set(int index, E element) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -426,11 +454,13 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list.set(index, element);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int size() {
|
||||
init();
|
||||
return list.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<E> subList(int fromIndex, int toIndex) {
|
||||
init();
|
||||
if (isReadOnly()) {
|
||||
@@ -442,11 +472,13 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
return list.subList(fromIndex, toIndex);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] toArray() {
|
||||
init();
|
||||
return list.toArray();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T[] toArray(T[] a) {
|
||||
init();
|
||||
//noinspection SuspiciousToArrayCall
|
||||
@@ -463,38 +495,47 @@ public final class BeanList<E> extends AbstractBeanCollection<E> implements List
|
||||
this.i = i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(E o) {
|
||||
throw new IllegalStateException("This collection is in ReadOnly mode");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
throw new IllegalStateException("This collection is in ReadOnly mode");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void set(E o) {
|
||||
throw new IllegalStateException("This collection is in ReadOnly mode");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
return i.hasNext();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPrevious() {
|
||||
return i.hasPrevious();
|
||||
}
|
||||
|
||||
@Override
|
||||
public E next() {
|
||||
return i.next();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int nextIndex() {
|
||||
return i.nextIndex();
|
||||
}
|
||||
|
||||
@Override
|
||||
public E previous() {
|
||||
return i.previous();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int previousIndex() {
|
||||
return i.previousIndex();
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
this.map = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSkipSave() {
|
||||
return map == null || (map.isEmpty() && !holdsModifications());
|
||||
}
|
||||
@@ -86,6 +87,7 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
throw new RuntimeException("Not allowed for map");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void internalAdd(Object bean) {
|
||||
throw new RuntimeException("Not allowed for map");
|
||||
}
|
||||
@@ -94,6 +96,7 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
* Return true if the underlying map has been populated. Returns false if it
|
||||
* has a deferred fetch pending.
|
||||
*/
|
||||
@Override
|
||||
public boolean isPopulated() {
|
||||
return map != null;
|
||||
}
|
||||
@@ -102,10 +105,12 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
* Return true if this is a reference (lazy loading) bean collection. This is
|
||||
* the same as !isPopulated();
|
||||
*/
|
||||
@Override
|
||||
public boolean isReference() {
|
||||
return map == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkEmptyLazyLoad() {
|
||||
if (map == null) {
|
||||
map = new LinkedHashMap<>();
|
||||
@@ -153,6 +158,7 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
/**
|
||||
* Returns the collection of beans (map values).
|
||||
*/
|
||||
@Override
|
||||
public Collection<E> getActualDetails() {
|
||||
return map.values();
|
||||
}
|
||||
@@ -164,10 +170,12 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
* they don't need to be set twice).
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public Collection<?> getActualEntries() {
|
||||
return map.entrySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder(50);
|
||||
sb.append("BeanMap ");
|
||||
@@ -187,16 +195,19 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
/**
|
||||
* Equal if obj is a Map and equal in a Map sense.
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
init();
|
||||
return map.equals(obj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
init();
|
||||
return map.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
checkReadOnly();
|
||||
initClear();
|
||||
@@ -209,16 +220,19 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
map.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsKey(Object key) {
|
||||
init();
|
||||
return map.containsKey(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsValue(Object value) {
|
||||
init();
|
||||
return map.containsValue(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
public Set<Entry<K, E>> entrySet() {
|
||||
init();
|
||||
@@ -232,16 +246,19 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
return map.entrySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public E get(Object key) {
|
||||
init();
|
||||
return map.get(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
init();
|
||||
return map.isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<K> keySet() {
|
||||
init();
|
||||
if (isReadOnly()) {
|
||||
@@ -251,6 +268,7 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
return map.keySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public E put(K key, E value) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -265,6 +283,7 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
return map.put(key, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void putAll(Map<? extends K, ? extends E> puts) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -290,6 +309,7 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
throw new IllegalStateException("Method not allowed on Map. Please use List instead.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public E remove(Object key) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -301,11 +321,13 @@ public final class BeanMap<K, E> extends AbstractBeanCollection<E> implements Ma
|
||||
return map.remove(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int size() {
|
||||
init();
|
||||
return map.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<E> values() {
|
||||
init();
|
||||
if (isReadOnly()) {
|
||||
|
||||
@@ -48,10 +48,12 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
this.set = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSkipSave() {
|
||||
return set == null || (set.isEmpty() && !holdsModifications());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public void addEntityBean(EntityBean bean) {
|
||||
set.add((E) bean);
|
||||
@@ -73,6 +75,7 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public void internalAdd(Object bean) {
|
||||
if (set == null) {
|
||||
@@ -86,6 +89,7 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
/**
|
||||
* Returns true if the underlying set has its data.
|
||||
*/
|
||||
@Override
|
||||
public boolean isPopulated() {
|
||||
return set != null;
|
||||
}
|
||||
@@ -94,10 +98,12 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
* Return true if this is a reference (lazy loading) bean collection. This is
|
||||
* the same as !isPopulated();
|
||||
*/
|
||||
@Override
|
||||
public boolean isReference() {
|
||||
return set == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkEmptyLazyLoad() {
|
||||
if (set == null) {
|
||||
set = new LinkedHashSet<>();
|
||||
@@ -142,6 +148,7 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
return set;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<E> getActualDetails() {
|
||||
return set;
|
||||
}
|
||||
@@ -151,6 +158,7 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
return set;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder(50);
|
||||
sb.append("BeanSet ");
|
||||
@@ -170,11 +178,13 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
/**
|
||||
* Equal if obj is a Set and equal in a Set sense.
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
init();
|
||||
return set.equals(obj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
init();
|
||||
return set.hashCode();
|
||||
@@ -196,6 +206,7 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
// proxy method for map
|
||||
// -----------------------------------------------------//
|
||||
|
||||
@Override
|
||||
public boolean add(E o) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -210,6 +221,7 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
return set.add(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addAll(Collection<? extends E> addCollection) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -227,6 +239,7 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
return set.addAll(addCollection);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
checkReadOnly();
|
||||
initClear();
|
||||
@@ -238,21 +251,25 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
set.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean contains(Object o) {
|
||||
init();
|
||||
return set.contains(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsAll(Collection<?> c) {
|
||||
init();
|
||||
return set.containsAll(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
init();
|
||||
return set.isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<E> iterator() {
|
||||
init();
|
||||
if (isReadOnly()) {
|
||||
@@ -264,6 +281,7 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
return set.iterator();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean remove(Object o) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -277,6 +295,7 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
return set.remove(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeAll(Collection<?> beans) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -293,6 +312,7 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
return set.removeAll(beans);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean retainAll(Collection<?> beans) {
|
||||
checkReadOnly();
|
||||
init();
|
||||
@@ -313,16 +333,19 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
return set.retainAll(beans);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int size() {
|
||||
init();
|
||||
return set.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] toArray() {
|
||||
init();
|
||||
return set.toArray();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T[] toArray(T[] a) {
|
||||
init();
|
||||
//noinspection SuspiciousToArrayCall
|
||||
@@ -339,14 +362,17 @@ public final class BeanSet<E> extends AbstractBeanCollection<E> implements Set<E
|
||||
this.it = it;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
return it.hasNext();
|
||||
}
|
||||
|
||||
@Override
|
||||
public E next() {
|
||||
return it.next();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
throw new IllegalStateException("This collection is in ReadOnly mode");
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ class ModifyCollection<E> implements Collection<E> {
|
||||
this.c = c;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean add(E o) {
|
||||
if (c.add(o)) {
|
||||
owner.modifyAddition(o);
|
||||
@@ -38,6 +39,7 @@ class ModifyCollection<E> implements Collection<E> {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addAll(Collection<? extends E> collection) {
|
||||
boolean changed = false;
|
||||
for (E o : collection) {
|
||||
|
||||
@@ -31,15 +31,18 @@ class ModifyIterator<E> implements Iterator<E> {
|
||||
this.it = it;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
return it.hasNext();
|
||||
}
|
||||
|
||||
@Override
|
||||
public E next() {
|
||||
last = it.next();
|
||||
return last;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
owner.modifyRemoval(last);
|
||||
it.remove();
|
||||
|
||||
@@ -33,11 +33,13 @@ class ModifyList<E> extends ModifyCollection<E> implements List<E> {
|
||||
this.list = list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(int index, E element) {
|
||||
list.add(index, element);
|
||||
owner.modifyAddition(element);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addAll(int index, Collection<? extends E> addCollection) {
|
||||
if (list.addAll(index, addCollection)) {
|
||||
for (E bean : addCollection) {
|
||||
@@ -48,32 +50,39 @@ class ModifyList<E> extends ModifyCollection<E> implements List<E> {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public E get(int index) {
|
||||
return list.get(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int indexOf(Object o) {
|
||||
return list.indexOf(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int lastIndexOf(Object o) {
|
||||
return list.lastIndexOf(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListIterator<E> listIterator() {
|
||||
return new ModifyListIterator<>(owner, list.listIterator());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListIterator<E> listIterator(int index) {
|
||||
return new ModifyListIterator<>(owner, list.listIterator(index));
|
||||
}
|
||||
|
||||
@Override
|
||||
public E remove(int index) {
|
||||
E o = list.remove(index);
|
||||
owner.modifyRemoval(o);
|
||||
return o;
|
||||
}
|
||||
|
||||
@Override
|
||||
public E set(int index, E element) {
|
||||
E o = list.set(index, element);
|
||||
owner.modifyAddition(element);
|
||||
@@ -81,6 +90,7 @@ class ModifyList<E> extends ModifyCollection<E> implements List<E> {
|
||||
return o;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<E> subList(int fromIndex, int toIndex) {
|
||||
return new ModifyList<>(owner, list.subList(fromIndex, toIndex));
|
||||
}
|
||||
|
||||
@@ -28,44 +28,53 @@ class ModifyListIterator<E> implements ListIterator<E> {
|
||||
this.it = it;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(E bean) {
|
||||
owner.modifyAddition(bean);
|
||||
last = null;
|
||||
it.add(bean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
return it.hasNext();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPrevious() {
|
||||
return it.hasPrevious();
|
||||
}
|
||||
|
||||
@Override
|
||||
public E next() {
|
||||
last = it.next();
|
||||
return last;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int nextIndex() {
|
||||
return it.nextIndex();
|
||||
}
|
||||
|
||||
@Override
|
||||
public E previous() {
|
||||
last = it.previous();
|
||||
return last;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int previousIndex() {
|
||||
return it.previousIndex();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
owner.modifyRemoval(last);
|
||||
last = null;
|
||||
it.remove();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void set(E o) {
|
||||
if (last != null) {
|
||||
owner.modifyRemoval(last);
|
||||
|
||||
@@ -76,10 +76,12 @@ public abstract class AbstractNamingConvention implements NamingConvention {
|
||||
this(DEFAULT_SEQ_FORMAT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDatabasePlatform(DatabasePlatform databasePlatform) {
|
||||
this.databasePlatform = databasePlatform;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSequenceName(String tableName, String pkColumn) {
|
||||
String s = sequenceFormat.replace("{table}", tableName);
|
||||
if (pkColumn == null) {
|
||||
@@ -152,6 +154,7 @@ public abstract class AbstractNamingConvention implements NamingConvention {
|
||||
* column names.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public boolean isUseForeignKeyPrefix() {
|
||||
return useForeignKeyPrefix;
|
||||
}
|
||||
@@ -180,6 +183,7 @@ public abstract class AbstractNamingConvention implements NamingConvention {
|
||||
* @see #getTableNameFromAnnotation(Class)
|
||||
* @see #getTableNameByConvention(Class)
|
||||
*/
|
||||
@Override
|
||||
public TableName getTableName(Class<?> beanClass) {
|
||||
|
||||
TableName tableName = getTableNameFromAnnotation(beanClass);
|
||||
@@ -221,6 +225,7 @@ public abstract class AbstractNamingConvention implements NamingConvention {
|
||||
return supCls.getAnnotation(annotation) != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableName getM2MJoinTableName(TableName lhsTable, TableName rhsTable) {
|
||||
|
||||
StringBuilder buffer = new StringBuilder();
|
||||
|
||||
@@ -29,15 +29,18 @@ public class MatchingNamingConvention extends AbstractNamingConvention {
|
||||
super(sequenceFormat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getColumnFromProperty(Class<?> beanClass, String propertyName) {
|
||||
return propertyName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableName getTableNameByConvention(Class<?> beanClass) {
|
||||
|
||||
return new TableName(getCatalog(), getSchema(), beanClass.getSimpleName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPropertyFromColumn(Class<?> beanClass, String dbColumnName) {
|
||||
return dbColumnName;
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ public final class PropertyMap implements Serializable {
|
||||
return (disable == null || !disable.equalsIgnoreCase("true"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return map.toString();
|
||||
}
|
||||
|
||||
@@ -69,6 +69,7 @@ public final class TableName {
|
||||
return new TableName(qualifiedTableName).getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getQualifiedName();
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ public class UnderscoreNamingConvention extends AbstractNamingConvention {
|
||||
* @param beanClass the bean class
|
||||
* @return the table name from class
|
||||
*/
|
||||
@Override
|
||||
public TableName getTableNameByConvention(Class<?> beanClass) {
|
||||
|
||||
return new TableName(getCatalog(), getSchema(), toUnderscoreFromCamel(beanClass.getSimpleName()));
|
||||
@@ -53,6 +54,7 @@ public class UnderscoreNamingConvention extends AbstractNamingConvention {
|
||||
*
|
||||
* @return the column from property
|
||||
*/
|
||||
@Override
|
||||
public String getColumnFromProperty(Class<?> beanClass, String propertyName) {
|
||||
|
||||
return toUnderscoreFromCamel(propertyName);
|
||||
@@ -65,6 +67,7 @@ public class UnderscoreNamingConvention extends AbstractNamingConvention {
|
||||
* @param dbColumnName the db column name
|
||||
* @return the property from column
|
||||
*/
|
||||
@Override
|
||||
public String getPropertyFromColumn(Class<?> beanClass, String dbColumnName) {
|
||||
return toCamelFromUnderscore(dbColumnName);
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ public abstract class AbstractDbEncrypt implements DbEncrypt {
|
||||
* Null is returned if DB encryption of the type is not supported.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public DbEncryptFunction getDbEncryptFunction(int jdbcType) {
|
||||
switch (jdbcType) {
|
||||
case Types.VARCHAR:
|
||||
@@ -64,6 +65,7 @@ public abstract class AbstractDbEncrypt implements DbEncrypt {
|
||||
/**
|
||||
* Return the DB stored type for encrypted properties.
|
||||
*/
|
||||
@Override
|
||||
public int getEncryptDbType() {
|
||||
return Types.VARBINARY;
|
||||
}
|
||||
@@ -71,6 +73,7 @@ public abstract class AbstractDbEncrypt implements DbEncrypt {
|
||||
/**
|
||||
* Generally encrypt function binding the data before the key (except h2).
|
||||
*/
|
||||
@Override
|
||||
public boolean isBindEncryptDataFirst() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ public class LimitOffsetSqlLimiter implements SqlLimiter {
|
||||
*/
|
||||
private static final String OFFSET = "offset";
|
||||
|
||||
@Override
|
||||
public SqlLimitResponse limit(SqlLimitRequest request) {
|
||||
|
||||
String dbSql = request.getDbSql();
|
||||
|
||||
@@ -28,6 +28,7 @@ public class RowNumberSqlLimiter implements SqlLimiter {
|
||||
this("as limitresult");
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlLimitResponse limit(SqlLimitRequest request) {
|
||||
|
||||
String dbSql = request.getDbSql();
|
||||
|
||||
@@ -25,6 +25,7 @@ public class RownumSqlLimiter implements SqlLimiter {
|
||||
this.useFirstRowsHint = useFirstRowsHint;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlLimitResponse limit(SqlLimitRequest request) {
|
||||
|
||||
// select *
|
||||
|
||||
@@ -60,6 +60,7 @@ public abstract class SequenceIdGenerator implements PlatformIdGenerator {
|
||||
/**
|
||||
* Returns the sequence name.
|
||||
*/
|
||||
@Override
|
||||
public String getName() {
|
||||
return seqName;
|
||||
}
|
||||
@@ -67,6 +68,7 @@ public abstract class SequenceIdGenerator implements PlatformIdGenerator {
|
||||
/**
|
||||
* Returns true.
|
||||
*/
|
||||
@Override
|
||||
public boolean isDbSequence() {
|
||||
return true;
|
||||
}
|
||||
@@ -78,6 +80,7 @@ public abstract class SequenceIdGenerator implements PlatformIdGenerator {
|
||||
* beans Ebean can call this to ensure .
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public void preAllocateIds(int allocateSize) {
|
||||
if (batchSize > 1 && allocateSize > batchSize) {
|
||||
// only bother if allocateSize is bigger than
|
||||
@@ -106,6 +109,7 @@ public abstract class SequenceIdGenerator implements PlatformIdGenerator {
|
||||
* If a Transaction has been passed in use the Connection from it.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public Object nextId(Transaction t) {
|
||||
synchronized (monitor) {
|
||||
|
||||
|
||||
@@ -36,18 +36,22 @@ public class SimpleSequenceIdGenerator implements PlatformIdGenerator {
|
||||
this.seqName = seqName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return seqName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDbSequence() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preAllocateIds(int batchSize) {
|
||||
// just ignore this
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object nextId(Transaction t) {
|
||||
|
||||
boolean useTxnConnection = t != null;
|
||||
|
||||
@@ -22,6 +22,7 @@ public class DB2SequenceIdGenerator extends SequenceIdGenerator {
|
||||
this.unionBaseSql = " union " + baseSql;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSql(int batchSize) {
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
@@ -18,17 +18,20 @@ public class H2DbEncrypt extends AbstractDbEncrypt {
|
||||
/**
|
||||
* For H2 encrypt function returns false binding the key before the data.
|
||||
*/
|
||||
@Override
|
||||
public boolean isBindEncryptDataFirst() {
|
||||
return false;
|
||||
}
|
||||
|
||||
private static class H2VarcharFunction implements DbEncryptFunction {
|
||||
|
||||
@Override
|
||||
public String getDecryptSql(String columnWithTableAlias) {
|
||||
// Hmmm, this looks ugly - checking with H2 Database folks.
|
||||
return "TRIM(CHAR(0) FROM UTF8TOSTRING(DECRYPT('AES', STRINGTOUTF8(?), " + columnWithTableAlias + ")))";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEncryptBindSql() {
|
||||
return "ENCRYPT('AES', STRINGTOUTF8(?), STRINGTOUTF8(?))";
|
||||
}
|
||||
@@ -37,10 +40,12 @@ public class H2DbEncrypt extends AbstractDbEncrypt {
|
||||
|
||||
private static class H2DateFunction implements DbEncryptFunction {
|
||||
|
||||
@Override
|
||||
public String getDecryptSql(String columnWithTableAlias) {
|
||||
return "PARSEDATETIME(TRIM(CHAR(0) FROM UTF8TOSTRING(DECRYPT('AES', STRINGTOUTF8(?), " + columnWithTableAlias + "))),'yyyyMMdd')";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEncryptBindSql() {
|
||||
return "ENCRYPT('AES', STRINGTOUTF8(?), STRINGTOUTF8(FORMATDATETIME(?,'yyyyMMdd')))";
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ public class H2SequenceIdGenerator extends SequenceIdGenerator {
|
||||
this.unionBaseSql = " union " + baseSql;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSql(int batchSize) {
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
@@ -17,10 +17,12 @@ public class MySqlDbEncrypt extends AbstractDbEncrypt {
|
||||
|
||||
private static class MyVarcharFunction implements DbEncryptFunction {
|
||||
|
||||
@Override
|
||||
public String getDecryptSql(String columnWithTableAlias) {
|
||||
return "CONVERT(AES_DECRYPT(" + columnWithTableAlias + ",?) USING UTF8)";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEncryptBindSql() {
|
||||
return "AES_ENCRYPT(?,?)";
|
||||
}
|
||||
@@ -28,10 +30,12 @@ public class MySqlDbEncrypt extends AbstractDbEncrypt {
|
||||
|
||||
private static class MyDateFunction implements DbEncryptFunction {
|
||||
|
||||
@Override
|
||||
public String getDecryptSql(String columnWithTableAlias) {
|
||||
return "STR_TO_DATE(AES_DECRYPT(" + columnWithTableAlias + ",?),'%Y%d%m')";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEncryptBindSql() {
|
||||
return "AES_ENCRYPT(DATE_FORMAT(?,'%Y%d%m'),?)";
|
||||
}
|
||||
|
||||
@@ -78,10 +78,12 @@ public class OracleDbEncrypt extends AbstractDbEncrypt {
|
||||
this.decryptfunction = decryptfunction;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDecryptSql(String columnWithTableAlias) {
|
||||
return decryptfunction + "(" + columnWithTableAlias + ",?)";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEncryptBindSql() {
|
||||
return encryptfunction + "(?,?)";
|
||||
}
|
||||
@@ -101,10 +103,12 @@ public class OracleDbEncrypt extends AbstractDbEncrypt {
|
||||
this.decryptfunction = decryptfunction;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDecryptSql(String columnWithTableAlias) {
|
||||
return "to_date(" + decryptfunction + "(" + columnWithTableAlias + ",?),'YYYYMMDD')";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEncryptBindSql() {
|
||||
return encryptfunction + "(to_char(?,'YYYYMMDD'),?)";
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class OracleSequenceIdGenerator extends SequenceIdGenerator {
|
||||
this.baseSql = "select " + seqName + ".nextval, a from (select level as a FROM dual CONNECT BY level <= ";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSql(int batchSize) {
|
||||
return baseSql + batchSize + ")";
|
||||
}
|
||||
|
||||
@@ -15,10 +15,12 @@ public class PostgresDbEncrypt extends AbstractDbEncrypt {
|
||||
|
||||
private static class PgVarcharFunction implements DbEncryptFunction {
|
||||
|
||||
@Override
|
||||
public String getDecryptSql(String columnWithTableAlias) {
|
||||
return "pgp_sym_decrypt(" + columnWithTableAlias + ",?)";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEncryptBindSql() {
|
||||
return "pgp_sym_encrypt(?,?)";
|
||||
}
|
||||
@@ -26,10 +28,12 @@ public class PostgresDbEncrypt extends AbstractDbEncrypt {
|
||||
|
||||
private static class PgDateFunction implements DbEncryptFunction {
|
||||
|
||||
@Override
|
||||
public String getDecryptSql(String columnWithTableAlias) {
|
||||
return "to_date(pgp_sym_decrypt(" + columnWithTableAlias + ",?),'YYYYMMDD')";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEncryptBindSql() {
|
||||
return "pgp_sym_encrypt(to_char(?::date,'YYYYMMDD'),?)";
|
||||
}
|
||||
|
||||
@@ -70,6 +70,7 @@ public class PostgresPlatform extends DatabasePlatform {
|
||||
dbTypeMap.put(DbType.LONGVARCHAR, dbTypeText);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addGeoTypes(int srid) {
|
||||
dbTypeMap.put(DbType.POINT, geoType("point", srid));
|
||||
dbTypeMap.put(DbType.POLYGON, geoType("polygon", srid));
|
||||
@@ -86,6 +87,7 @@ public class PostgresPlatform extends DatabasePlatform {
|
||||
/**
|
||||
* Return a DdlHandler instance for generating DDL for the specific platform.
|
||||
*/
|
||||
@Override
|
||||
public DdlHandler createDdlHandler(ServerConfig serverConfig) {
|
||||
return this.platformDdl.createDdlHandler(serverConfig);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class PostgresSequenceIdGenerator extends SequenceIdGenerator {
|
||||
this.baseSql = "select nextval('" + seqName + "'), s.generate_series from (select generate_series from generate_series(1,";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSql(int batchSize) {
|
||||
return baseSql + batchSize + ") ) as s";
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import io.ebean.config.dbplatform.SqlLimiter;
|
||||
*/
|
||||
public class SqlAnywhereLimiter implements SqlLimiter {
|
||||
|
||||
@Override
|
||||
public SqlLimitResponse limit(SqlLimitRequest request) {
|
||||
|
||||
String dbSql = request.getDbSql();
|
||||
|
||||
@@ -22,6 +22,7 @@ public class SqlServer2005SqlLimiter implements SqlLimiter {
|
||||
this("as limitresult");
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlLimitResponse limit(SqlLimitRequest request) {
|
||||
|
||||
StringBuilder sb = new StringBuilder(500);
|
||||
|
||||
@@ -12,6 +12,7 @@ public class SqlServerSqlLimiter implements SqlLimiter {
|
||||
public SqlServerSqlLimiter() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlLimitResponse limit(SqlLimitRequest request) {
|
||||
|
||||
String dbSql = request.getDbSql();
|
||||
|
||||
@@ -83,6 +83,7 @@ public class BaseDdlBuffer implements DdlBuffer {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getBuffer() {
|
||||
return writer.toString();
|
||||
}
|
||||
|
||||
+1
@@ -19,6 +19,7 @@ public class DefaultConstraintMaxLength implements DbConstraintNaming.MaxLength
|
||||
* <p>
|
||||
* This implementation should work well apart from perhaps DB2 where the limit is 18.
|
||||
*/
|
||||
@Override
|
||||
public String maxLength(String constraintName, int count) {
|
||||
if (constraintName.length() < maxConstraintNameLength) {
|
||||
return constraintName;
|
||||
|
||||
@@ -31,6 +31,7 @@ public class HistoryTableUpdate {
|
||||
this.column = column;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return description();
|
||||
}
|
||||
|
||||
@@ -49,12 +49,14 @@ public class MySqlDdl extends PlatformDdl {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String alterColumnNotnull(String tableName, String columnName, boolean notnull) {
|
||||
|
||||
// can't alter itself - done in alterColumnBaseAttributes()
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String alterColumnDefaultValue(String tableName, String columnName, String defaultValue) {
|
||||
|
||||
String suffix = isDropDefault(defaultValue) ? columnDropDefault : columnSetDefault + " " + defaultValue;
|
||||
@@ -63,6 +65,7 @@ public class MySqlDdl extends PlatformDdl {
|
||||
return "alter table " + tableName + " alter " + columnName + " " + suffix;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String alterColumnBaseAttributes(AlterColumn alter) {
|
||||
|
||||
String tableName = alter.getTableName();
|
||||
@@ -89,6 +92,7 @@ public class MySqlDdl extends PlatformDdl {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void inlineTableComment(DdlBuffer apply, String tableComment) throws IOException {
|
||||
if (tableComment.length() > 1000) {
|
||||
tableComment = tableComment.substring(0, 1000);
|
||||
|
||||
@@ -64,6 +64,7 @@ public class SqlServerDdl extends PlatformDdl {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String alterColumnBaseAttributes(AlterColumn alter) {
|
||||
|
||||
String tableName = alter.getTableName();
|
||||
@@ -82,6 +83,7 @@ public class SqlServerDdl extends PlatformDdl {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String alterColumnNotnull(String tableName, String columnName, boolean notnull) {
|
||||
|
||||
// can't alter itself - done in alterColumnBaseAttributes()
|
||||
@@ -91,6 +93,7 @@ public class SqlServerDdl extends PlatformDdl {
|
||||
/**
|
||||
* Add table comment as a separate statement (from the create table statement).
|
||||
*/
|
||||
@Override
|
||||
public void addTableComment(DdlBuffer apply, String tableName, String tableComment) throws IOException {
|
||||
|
||||
// do nothing for MS SQL Server (cause it requires stored procedures etc)
|
||||
@@ -99,6 +102,7 @@ public class SqlServerDdl extends PlatformDdl {
|
||||
/**
|
||||
* Add column comment as a separate statement.
|
||||
*/
|
||||
@Override
|
||||
public void addColumnComment(DdlBuffer apply, String table, String column, String comment) throws IOException {
|
||||
|
||||
// do nothing for MS SQL Server (cause it requires stored procedures etc)
|
||||
|
||||
@@ -22,6 +22,7 @@ public class MigrationResource implements Comparable<MigrationResource> {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return migrationFile.getName();
|
||||
}
|
||||
|
||||
@@ -59,6 +59,7 @@ public class MigrationVersion implements Comparable<MigrationVersion> {
|
||||
return raw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return raw;
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ public class ModelBuildBeanVisitor implements BeanVisitor {
|
||||
* This creates an MTable and adds it to the model.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public ModelBuildPropertyVisitor visitBean(BeanDescriptor<?> descriptor) {
|
||||
|
||||
if (!descriptor.isInheritanceRoot()) {
|
||||
|
||||
@@ -13,34 +13,40 @@ public abstract class BaseTablePropertyVisitor implements BeanPropertyVisitor {
|
||||
/**
|
||||
* Not required in that you can use the visitEmbeddedScalar.
|
||||
*/
|
||||
@Override
|
||||
public void visitEmbedded(BeanPropertyAssocOne<?> p) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Override this method.
|
||||
*/
|
||||
@Override
|
||||
public abstract void visitEmbeddedScalar(BeanProperty p, BeanPropertyAssocOne<?> embedded);
|
||||
|
||||
/**
|
||||
* Not part of base table.
|
||||
*/
|
||||
@Override
|
||||
public void visitMany(BeanPropertyAssocMany<?> p) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Not part of base table.
|
||||
*/
|
||||
@Override
|
||||
public void visitOneExported(BeanPropertyAssocOne<?> p) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Override this method for the foreign key.
|
||||
*/
|
||||
@Override
|
||||
public abstract void visitOneImported(BeanPropertyAssocOne<?> p);
|
||||
|
||||
/**
|
||||
* Override this method for normal scalar property.
|
||||
*/
|
||||
@Override
|
||||
public abstract void visitScalar(BeanProperty p);
|
||||
|
||||
}
|
||||
|
||||
@@ -137,6 +137,7 @@ public class VisitAllUsing {
|
||||
this.pv = pv;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(InheritInfo inheritInfo) {
|
||||
BeanProperty[] propertiesLocal = inheritInfo.desc().propertiesLocal();
|
||||
for (BeanProperty aPropertiesLocal : propertiesLocal) {
|
||||
|
||||
@@ -14,6 +14,7 @@ import io.ebean.config.ServerConfig;
|
||||
*/
|
||||
public abstract class BeanPersistAdapter implements BeanPersistController {
|
||||
|
||||
@Override
|
||||
public abstract boolean isRegisterFor(Class<?> cls);
|
||||
|
||||
/**
|
||||
@@ -21,6 +22,7 @@ public abstract class BeanPersistAdapter implements BeanPersistController {
|
||||
* BeanPersistController's are executed when there is multiple of them
|
||||
* registered for a given entity type (class).
|
||||
*/
|
||||
@Override
|
||||
public int getExecutionOrder() {
|
||||
return 10;
|
||||
}
|
||||
@@ -28,6 +30,7 @@ public abstract class BeanPersistAdapter implements BeanPersistController {
|
||||
/**
|
||||
* Returns true indicating normal processing should continue.
|
||||
*/
|
||||
@Override
|
||||
public boolean preDelete(BeanPersistRequest<?> request) {
|
||||
return true;
|
||||
}
|
||||
@@ -35,6 +38,7 @@ public abstract class BeanPersistAdapter implements BeanPersistController {
|
||||
/**
|
||||
* Returns true indicating normal processing should continue.
|
||||
*/
|
||||
@Override
|
||||
public boolean preInsert(BeanPersistRequest<?> request) {
|
||||
return true;
|
||||
}
|
||||
@@ -42,6 +46,7 @@ public abstract class BeanPersistAdapter implements BeanPersistController {
|
||||
/**
|
||||
* Returns true indicating normal processing should continue.
|
||||
*/
|
||||
@Override
|
||||
public boolean preUpdate(BeanPersistRequest<?> request) {
|
||||
return true;
|
||||
}
|
||||
@@ -49,6 +54,7 @@ public abstract class BeanPersistAdapter implements BeanPersistController {
|
||||
/**
|
||||
* Returns true indicating normal processing should continue.
|
||||
*/
|
||||
@Override
|
||||
public boolean preSoftDelete(BeanPersistRequest<?> request) {
|
||||
return true;
|
||||
}
|
||||
@@ -56,24 +62,28 @@ public abstract class BeanPersistAdapter implements BeanPersistController {
|
||||
/**
|
||||
* Does nothing by default.
|
||||
*/
|
||||
@Override
|
||||
public void postDelete(BeanPersistRequest<?> request) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Does nothing by default.
|
||||
*/
|
||||
@Override
|
||||
public void postInsert(BeanPersistRequest<?> request) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Does nothing by default.
|
||||
*/
|
||||
@Override
|
||||
public void postUpdate(BeanPersistRequest<?> request) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Does nothing by default.
|
||||
*/
|
||||
@Override
|
||||
public void postSoftDelete(BeanPersistRequest<?> request) {
|
||||
}
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@ public class BeanChange {
|
||||
public BeanChange() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "table:" + table + " id:" + id + " values:" + values;
|
||||
}
|
||||
|
||||
@@ -66,6 +66,7 @@ public class ChangeSet {
|
||||
public ChangeSet() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "txnId:" + txnId + " txnState:" + txnState + " txnBatch:" + txnBatch;
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ public class ReadAuditQueryPlan {
|
||||
public ReadAuditQueryPlan() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "beanType:" + beanType + " queryKey:" + queryKey + " sql:" + sql;
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ public class PathProperties implements FetchPath {
|
||||
this.pathMap.put(null, rootProps);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return pathMap.toString();
|
||||
}
|
||||
@@ -103,6 +104,7 @@ public class PathProperties implements FetchPath {
|
||||
/**
|
||||
* Apply these path properties as fetch paths to the query.
|
||||
*/
|
||||
@Override
|
||||
public <T> void apply(Query<T> query) {
|
||||
|
||||
for (Entry<String, Props> entry : pathMap.entrySet()) {
|
||||
@@ -179,6 +181,7 @@ public class PathProperties implements FetchPath {
|
||||
return path;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return propSet.toString();
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ public final class TimeStringParser implements StringParser {
|
||||
/**
|
||||
* Parse the String supporting both HH:mm:ss and HH:mm formats.
|
||||
*/
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public Object parse(String value) {
|
||||
if (value == null || value.trim().isEmpty()) {
|
||||
|
||||
@@ -77,6 +77,7 @@ public class DefaultCsvCallback<T> implements CsvCallback<T> {
|
||||
/**
|
||||
* Create a transaction if required.
|
||||
*/
|
||||
@Override
|
||||
public void begin(EbeanServer server) {
|
||||
this.server = server;
|
||||
this.startTime = System.currentTimeMillis();
|
||||
@@ -92,6 +93,7 @@ public class DefaultCsvCallback<T> implements CsvCallback<T> {
|
||||
* <p>
|
||||
* By default this does nothing (effectively ignoring the heading).
|
||||
*/
|
||||
@Override
|
||||
public void readHeader(String[] line) {
|
||||
|
||||
}
|
||||
@@ -109,6 +111,7 @@ public class DefaultCsvCallback<T> implements CsvCallback<T> {
|
||||
* error).
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public boolean processLine(int row, String[] line) {
|
||||
return true;
|
||||
}
|
||||
@@ -121,6 +124,7 @@ public class DefaultCsvCallback<T> implements CsvCallback<T> {
|
||||
* to use Cascade.PERSIST etc).
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public void processBean(int row, String[] line, T bean) {
|
||||
|
||||
// assumes single bean or Cascade.PERSIST will save any
|
||||
@@ -135,6 +139,7 @@ public class DefaultCsvCallback<T> implements CsvCallback<T> {
|
||||
/**
|
||||
* Commit the transaction if one was created.
|
||||
*/
|
||||
@Override
|
||||
public void end(int row) {
|
||||
|
||||
commitTransactionIfCreated();
|
||||
@@ -146,6 +151,7 @@ public class DefaultCsvCallback<T> implements CsvCallback<T> {
|
||||
/**
|
||||
* Rollback the transaction if one was created.
|
||||
*/
|
||||
@Override
|
||||
public void endWithError(int row, Exception e) {
|
||||
rollbackTransactionIfCreated(e);
|
||||
}
|
||||
|
||||
@@ -304,22 +304,27 @@ class EJsonReader {
|
||||
map = new ModifyAwareMap<>(owner, new LinkedHashMap<>());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void popContext(Context temp) {
|
||||
setValue(temp.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
Object getValue() {
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
void setKey(String key) {
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
@Override
|
||||
void setValue(Object value) {
|
||||
map.put(key, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
void setValueNull() {
|
||||
map.put(key, null);
|
||||
}
|
||||
@@ -337,22 +342,27 @@ class EJsonReader {
|
||||
values = new ModifyAwareList<>(owner, new ArrayList<>());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void popContext(Context temp) {
|
||||
values.add(temp.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
Object getValue() {
|
||||
return values;
|
||||
}
|
||||
|
||||
@Override
|
||||
void setValue(Object value) {
|
||||
values.add(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
void setValueNull() {
|
||||
// ignore
|
||||
}
|
||||
|
||||
@Override
|
||||
void setKey(String key) {
|
||||
// not expected
|
||||
}
|
||||
|
||||
@@ -397,6 +397,7 @@ public class BindParams implements Serializable {
|
||||
return copy;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hc = getClass().hashCode();
|
||||
hc = hc * 92821 + (isInParam ? 0 : 1);
|
||||
@@ -406,6 +407,7 @@ public class BindParams implements Serializable {
|
||||
return hc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
return o != null && (o == this || (o instanceof Param) && hashCode() == o.hashCode());
|
||||
}
|
||||
|
||||
@@ -17,16 +17,19 @@ public class HashQuery {
|
||||
this.bindHash = bindHash;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "HashQuery@" + Integer.toHexString(hashCode());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hc = 92821 * planHash.hashCode();
|
||||
hc = 92821 * hc + bindHash;
|
||||
return hc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
|
||||
@@ -17,6 +17,7 @@ public class HashQueryPlan {
|
||||
this.bindCount = bindCount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return planHash + ":" + bindCount + (rawSql != null ? ":r" : "");
|
||||
}
|
||||
@@ -30,6 +31,7 @@ public class HashQueryPlan {
|
||||
return planHash + "_" + bindCount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hc = planHash;
|
||||
hc = hc * 92821 + bindCount;
|
||||
@@ -37,6 +39,7 @@ public class HashQueryPlan {
|
||||
return hc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
|
||||
@@ -15,6 +15,7 @@ public class HashQueryPlanBuilder {
|
||||
this.planHash = 92821;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return planHash + ":" + bindCount;
|
||||
}
|
||||
|
||||
@@ -105,6 +105,7 @@ public class ScopeTrans implements Thread.UncaughtExceptionHandler {
|
||||
* Called when the Thread catches any uncaught exception.
|
||||
* For example, an unexpected NullPointerException or Error.
|
||||
*/
|
||||
@Override
|
||||
public void uncaughtException(Thread thread, Throwable e) {
|
||||
|
||||
// rollback transaction if required
|
||||
|
||||
@@ -275,6 +275,7 @@ public interface SpiQuery<T> extends Query<T> {
|
||||
/**
|
||||
* Return a copy of the query.
|
||||
*/
|
||||
@Override
|
||||
SpiQuery<T> copy();
|
||||
|
||||
/**
|
||||
@@ -650,11 +651,13 @@ public interface SpiQuery<T> extends Query<T> {
|
||||
/**
|
||||
* Return the maximum number of rows to return in the query.
|
||||
*/
|
||||
@Override
|
||||
int getMaxRows();
|
||||
|
||||
/**
|
||||
* Return the index of the first row to return in the query.
|
||||
*/
|
||||
@Override
|
||||
int getFirstRow();
|
||||
|
||||
/**
|
||||
|
||||
@@ -12,21 +12,25 @@ public interface SpiUpdate<T> extends Update<T> {
|
||||
*/
|
||||
enum OrmUpdateType {
|
||||
INSERT {
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Insert";
|
||||
}
|
||||
},
|
||||
UPDATE {
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Update";
|
||||
}
|
||||
},
|
||||
DELETE {
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Delete";
|
||||
}
|
||||
},
|
||||
UNKNOWN {
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ public final class TransactionEventTable implements Serializable {
|
||||
|
||||
private final Map<String, TableIUD> map = new HashMap<>();
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TransactionEventTable " + map.values();
|
||||
}
|
||||
@@ -105,6 +106,7 @@ public final class TransactionEventTable implements Serializable {
|
||||
msgList.add(msg);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TableIUD " + table + " i:" + insert + " u:" + update + " d:" + delete;
|
||||
}
|
||||
@@ -121,18 +123,22 @@ public final class TransactionEventTable implements Serializable {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTableName() {
|
||||
return table;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInsert() {
|
||||
return insert;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUpdate() {
|
||||
return update;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDelete() {
|
||||
return delete;
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ public interface AutoTuneService extends AutoTune {
|
||||
* Fire a garbage collection (hint to the JVM). Assuming garbage collection
|
||||
* fires this will gather the usage profiling information.
|
||||
*/
|
||||
@Override
|
||||
void collectProfiling();
|
||||
|
||||
/**
|
||||
|
||||
@@ -235,6 +235,7 @@ public class DefaultAutoTuneService implements AutoTuneService {
|
||||
* to the existing tuning.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public void reportProfiling() {
|
||||
saveProfilingOnShutdown(false);
|
||||
}
|
||||
|
||||
@@ -75,6 +75,7 @@ public class ProfileManager implements ProfilingListener {
|
||||
* query in which case the parentNode will be null, or a lazy loading query
|
||||
* resulting from traversal of the object graph.
|
||||
*/
|
||||
@Override
|
||||
public void collectQueryInfo(ObjectGraphNode node, long beans, long micros) {
|
||||
|
||||
if (node != null) {
|
||||
@@ -93,6 +94,7 @@ public class ProfileManager implements ProfilingListener {
|
||||
* is called on the bean.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public void collectNodeUsage(NodeUsageCollector usageCollector) {
|
||||
|
||||
ProfileOrigin profileOrigin = getProfileOrigin(usageCollector.getNode().getOriginQueryPoint());
|
||||
|
||||
@@ -107,6 +107,7 @@ public class ProfileOriginNodeUsage {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "path[" + path + "] profileCount[" + profileCount + "] used[" + profileUsedCount + "] props" + aggregateUsed;
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ public class TunedQueryInfo implements Serializable {
|
||||
return tuned;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return tunedDetail.toString();
|
||||
}
|
||||
|
||||
@@ -72,6 +72,7 @@ public class CachedBeanData implements Externalizable {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return data.toString();
|
||||
}
|
||||
|
||||
@@ -44,6 +44,7 @@ public class CachedManyIds implements Externalizable {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return idList.toString();
|
||||
}
|
||||
|
||||
@@ -344,6 +344,7 @@ public class DefaultServerCache implements ServerCache {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public int compare(CacheEntry entry1, CacheEntry entry2) {
|
||||
long x = entry1.getLastAccessTime();
|
||||
long y = entry2.getLastAccessTime();
|
||||
|
||||
@@ -28,6 +28,7 @@ class DefaultServerCacheFactory implements ServerCacheFactory {
|
||||
this.executor = executor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ServerCache createCache(ServerCacheType type, String cacheKey, ServerCacheOptions cacheOptions) {
|
||||
|
||||
DefaultServerCache cache = new DefaultServerCache(cacheKey, cacheOptions);
|
||||
|
||||
@@ -34,6 +34,7 @@ public class DefaultServerCacheManager implements SpiCacheManager {
|
||||
this(true, null, new DefaultServerCacheFactory(), new ServerCacheOptions(), new ServerCacheOptions());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLocalL2Caching() {
|
||||
return localL2Caching;
|
||||
}
|
||||
@@ -41,14 +42,17 @@ public class DefaultServerCacheManager implements SpiCacheManager {
|
||||
/**
|
||||
* Clear all caches.
|
||||
*/
|
||||
@Override
|
||||
public void clearAll() {
|
||||
cacheHolder.clearAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Supplier<ServerCache> getCollectionIdsCache(Class<?> beanType, String propertyName) {
|
||||
return cacheHolder.getCache(beanType, name(beanType) + "." + propertyName, ServerCacheType.COLLECTION_IDS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Supplier<ServerCache> getNaturalKeyCache(Class<?> beanType) {
|
||||
return cacheHolder.getCache(beanType, name(beanType), ServerCacheType.NATURAL_KEY);
|
||||
}
|
||||
@@ -56,6 +60,7 @@ public class DefaultServerCacheManager implements SpiCacheManager {
|
||||
/**
|
||||
* Return the query cache for a given bean type.
|
||||
*/
|
||||
@Override
|
||||
public Supplier<ServerCache> getQueryCache(Class<?> beanType) {
|
||||
return cacheHolder.getCache(beanType, name(beanType), ServerCacheType.QUERY);
|
||||
}
|
||||
@@ -63,6 +68,7 @@ public class DefaultServerCacheManager implements SpiCacheManager {
|
||||
/**
|
||||
* Return the bean cache for a given bean type.
|
||||
*/
|
||||
@Override
|
||||
public Supplier<ServerCache> getBeanCache(Class<?> beanType) {
|
||||
return cacheHolder.getCache(beanType, name(beanType), ServerCacheType.BEAN);
|
||||
}
|
||||
|
||||
@@ -56,6 +56,7 @@ public class CObjectGraphNodeStatistics {
|
||||
this.totalBeans = totalBeans;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return node + " count[" + count + "] time[" + totalTime + "] beans[" + totalBeans + "]";
|
||||
}
|
||||
|
||||
@@ -26,14 +26,17 @@ public class DefaultBackgroundExecutor implements SpiBackgroundExecutor {
|
||||
/**
|
||||
* Execute a Runnable using a background thread.
|
||||
*/
|
||||
@Override
|
||||
public void execute(Runnable r) {
|
||||
pool.execute(r);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executePeriodically(Runnable r, long delay, TimeUnit unit) {
|
||||
schedulePool.scheduleWithFixedDelay(r, delay, delay, unit);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void shutdown() {
|
||||
pool.shutdown();
|
||||
schedulePool.shutdown();
|
||||
|
||||
@@ -23,54 +23,67 @@ public class DefaultBeanState implements BeanState {
|
||||
this.intercept = entityBean._ebean_getIntercept();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPropertyLoaded(String propertyName, boolean loaded) {
|
||||
intercept.setPropertyLoaded(propertyName, loaded);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isReference() {
|
||||
return intercept.isReference();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isNew() {
|
||||
return intercept.isNew();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isNewOrDirty() {
|
||||
return intercept.isNewOrDirty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDirty() {
|
||||
return intercept.isDirty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getLoadedProps() {
|
||||
return intercept.getLoadedPropertyNames();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getChangedProps() {
|
||||
return intercept.getDirtyPropertyNames();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, ValuePair> getDirtyValues() {
|
||||
return intercept.getDirtyValues();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isReadOnly() {
|
||||
return intercept.isReadOnly();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setReadOnly(boolean readOnly) {
|
||||
intercept.setReadOnly(readOnly);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPropertyChangeListener(PropertyChangeListener listener) {
|
||||
entityBean.addPropertyChangeListener(listener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removePropertyChangeListener(PropertyChangeListener listener) {
|
||||
entityBean.removePropertyChangeListener(listener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLoaded() {
|
||||
intercept.setLoaded();
|
||||
}
|
||||
|
||||
@@ -50,57 +50,69 @@ public class DefaultCallableSql implements Serializable, SpiCallableSql {
|
||||
server.execute(this, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallableSql setLabel(String label) {
|
||||
this.label = label;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTimeout() {
|
||||
return timeout;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSql() {
|
||||
return sql;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallableSql setTimeout(int secs) {
|
||||
this.timeout = secs;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallableSql setSql(String sql) {
|
||||
this.sql = sql;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallableSql bind(int position, Object value) {
|
||||
bindParameters.setParameter(position, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallableSql setParameter(int position, Object value) {
|
||||
bindParameters.setParameter(position, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallableSql registerOut(int position, int type) {
|
||||
bindParameters.registerOut(position, type);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getObject(int position) {
|
||||
Param p = bindParameters.getParameter(position);
|
||||
return p.getOutValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean executeOverride(CallableStatement cstmt) throws SQLException {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallableSql addModification(String tableName, boolean inserts, boolean updates, boolean deletes) {
|
||||
|
||||
transactionEvent.add(tableName, inserts, updates, deletes);
|
||||
@@ -112,10 +124,12 @@ public class DefaultCallableSql implements Serializable, SpiCallableSql {
|
||||
* information for this CallableSql. This information is merged into the
|
||||
* transaction after the transaction is commited.
|
||||
*/
|
||||
@Override
|
||||
public TransactionEventTable getTransactionEventTable() {
|
||||
return transactionEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BindParams getBindParams() {
|
||||
return bindParameters;
|
||||
}
|
||||
|
||||
@@ -59,6 +59,7 @@ public class DefaultContainer implements SpiContainer {
|
||||
ShutdownManager.registerContainer(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void shutdown() {
|
||||
clusterManager.shutdown();
|
||||
}
|
||||
@@ -66,6 +67,7 @@ public class DefaultContainer implements SpiContainer {
|
||||
/**
|
||||
* Create the server reading configuration information from ebean.properties.
|
||||
*/
|
||||
@Override
|
||||
public SpiEbeanServer createServer(String name) {
|
||||
|
||||
ServerConfig config = new ServerConfig();
|
||||
@@ -89,6 +91,7 @@ public class DefaultContainer implements SpiContainer {
|
||||
/**
|
||||
* Create the implementation from the configuration.
|
||||
*/
|
||||
@Override
|
||||
public SpiEbeanServer createServer(ServerConfig serverConfig) {
|
||||
|
||||
synchronized (this) {
|
||||
|
||||
@@ -40,6 +40,7 @@ public class DefaultMetaInfoManager implements MetaInfoManager {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MetaObjectGraphNodeStats> collectNodeStatistics(boolean reset) {
|
||||
|
||||
List<MetaObjectGraphNodeStats> list = new ArrayList<>();
|
||||
|
||||
@@ -303,6 +303,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return updateAllPropertiesInBatch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLazyLoadBatchSize() {
|
||||
return lazyLoadBatchSize;
|
||||
}
|
||||
@@ -316,10 +317,12 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return currentTenantProvider.currentId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ServerConfig getServerConfig() {
|
||||
return serverConfig;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DatabasePlatform getDatabasePlatform() {
|
||||
return databasePlatform;
|
||||
}
|
||||
@@ -339,10 +342,12 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BackgroundExecutor getBackgroundExecutor() {
|
||||
return backgroundExecutor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExpressionFactory getExpressionFactory() {
|
||||
return expressionFactory;
|
||||
}
|
||||
@@ -388,6 +393,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Shutting down via JVM Shutdown hook.
|
||||
*/
|
||||
@Override
|
||||
public void shutdownManaged() {
|
||||
synchronized (this) {
|
||||
shutdownInternal(true, false);
|
||||
@@ -397,6 +403,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Shutting down manually.
|
||||
*/
|
||||
@Override
|
||||
public void shutdown(boolean shutdownDataSource, boolean deregisterDriver) {
|
||||
synchronized (this) {
|
||||
// Unregister from JVM Shutdown hook
|
||||
@@ -443,10 +450,12 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Return the server name.
|
||||
*/
|
||||
@Override
|
||||
public String getName() {
|
||||
return serverName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BeanState getBeanState(Object bean) {
|
||||
if (bean instanceof EntityBean) {
|
||||
return new DefaultBeanState((EntityBean) bean);
|
||||
@@ -458,46 +467,55 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Compile a query. Only valid for ORM queries.
|
||||
*/
|
||||
@Override
|
||||
public <T> CQuery<T> compileQuery(Query<T> query, Transaction t) {
|
||||
SpiOrmQueryRequest<T> qr = createQueryRequest(Type.SUBQUERY, query, t);
|
||||
OrmQueryRequest<T> orm = (OrmQueryRequest<T>) qr;
|
||||
return cqueryEngine.buildQuery(orm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ServerCacheManager getServerCacheManager() {
|
||||
return serverCacheManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refreshMany(Object parentBean, String propertyName) {
|
||||
|
||||
beanLoader.refreshMany(checkEntityBean(parentBean), propertyName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadMany(LoadManyRequest loadRequest) {
|
||||
|
||||
beanLoader.loadMany(loadRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadMany(BeanCollection<?> bc, boolean onlyIds) {
|
||||
|
||||
beanLoader.loadMany(bc, onlyIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refresh(Object bean) {
|
||||
|
||||
beanLoader.refresh(checkEntityBean(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadBean(LoadBeanRequest loadRequest) {
|
||||
|
||||
beanLoader.loadBean(loadRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadBean(EntityBeanIntercept ebi) {
|
||||
|
||||
beanLoader.loadBean(ebi);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, ValuePair> diff(Object a, Object b) {
|
||||
if (a == null) {
|
||||
return null;
|
||||
@@ -516,6 +534,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* to maintain its cache and text indexes appropriately.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public void externalModification(TransactionEventTable tableEvent) {
|
||||
SpiTransaction t = transactionScopeManager.get();
|
||||
if (t != null) {
|
||||
@@ -529,6 +548,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* Developer informing eBean that tables where modified outside of eBean.
|
||||
* Invalidate the cache etc as required.
|
||||
*/
|
||||
@Override
|
||||
public void externalModification(String tableName, boolean inserts, boolean updates, boolean deletes) {
|
||||
|
||||
TransactionEventTable evt = new TransactionEventTable();
|
||||
@@ -540,6 +560,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Clear the query execution statistics.
|
||||
*/
|
||||
@Override
|
||||
public void clearQueryStatistics() {
|
||||
for (BeanDescriptor<?> desc : getBeanDescriptors()) {
|
||||
desc.clearQueryStatistics();
|
||||
@@ -554,6 +575,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* bean is typically an instance of a dynamically generated class.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T> T createEntityBean(Class<T> type) {
|
||||
BeanDescriptor<T> desc = getBeanDescriptor(type);
|
||||
@@ -568,6 +590,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* then it will returned that object.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
public <T> T getReference(Class<T> type, Object id) {
|
||||
|
||||
@@ -616,6 +639,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* Creates a new Transaction that is NOT stored in TransactionThreadLocal. Use
|
||||
* this when you want a thread to have a second independent transaction.
|
||||
*/
|
||||
@Override
|
||||
public Transaction createTransaction() {
|
||||
|
||||
return transactionManager.createTransaction(true, -1);
|
||||
@@ -627,15 +651,18 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* Note that this transaction is not stored in a thread local.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public Transaction createTransaction(TxIsolation isolation) {
|
||||
|
||||
return transactionManager.createTransaction(true, isolation.getLevel());
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T execute(TxCallable<T> c) {
|
||||
return execute(null, c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T execute(TxScope scope, TxCallable<T> c) {
|
||||
ScopeTrans scopeTrans = createScopeTrans(scope);
|
||||
try {
|
||||
@@ -652,10 +679,12 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(TxRunnable r) {
|
||||
execute(null, r);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(TxScope scope, TxRunnable r) {
|
||||
ScopeTrans scopeTrans = createScopeTrans(scope);
|
||||
try {
|
||||
@@ -711,6 +740,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScopeTrans createScopeTrans(TxScope txScope) {
|
||||
|
||||
if (txScope == null) {
|
||||
@@ -762,6 +792,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Returns the current transaction (or null) from the scope.
|
||||
*/
|
||||
@Override
|
||||
public SpiTransaction getCurrentServerTransaction() {
|
||||
return transactionScopeManager.get();
|
||||
}
|
||||
@@ -775,10 +806,12 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* Note that the transaction is stored in a ThreadLocal variable.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public Transaction beginTransaction() {
|
||||
return beginTransaction(TxScope.required());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Transaction beginTransaction(TxScope scope) {
|
||||
ScopeTrans scopeTrans = createScopeTrans(scope);
|
||||
return new ScopedTransaction(scopeTrans);
|
||||
@@ -790,6 +823,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* Note that the transaction is stored in a ThreadLocal variable.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public Transaction beginTransaction(TxIsolation isolation) {
|
||||
// start an explicit transaction
|
||||
SpiTransaction t = transactionManager.createTransaction(true, isolation.getLevel());
|
||||
@@ -801,6 +835,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* Return the current transaction or null if there is not one currently in
|
||||
* scope.
|
||||
*/
|
||||
@Override
|
||||
public Transaction currentTransaction() {
|
||||
return transactionScopeManager.get();
|
||||
}
|
||||
@@ -808,6 +843,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Commit the current transaction.
|
||||
*/
|
||||
@Override
|
||||
public void commitTransaction() {
|
||||
transactionScopeManager.commit();
|
||||
}
|
||||
@@ -815,6 +851,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Rollback the current transaction.
|
||||
*/
|
||||
@Override
|
||||
public void rollbackTransaction() {
|
||||
transactionScopeManager.rollback();
|
||||
}
|
||||
@@ -847,6 +884,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* <p>
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public void endTransaction() {
|
||||
transactionScopeManager.end();
|
||||
}
|
||||
@@ -858,11 +896,13 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* use.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public Object nextId(Class<?> beanType) {
|
||||
BeanDescriptor<?> desc = getBeanDescriptor(beanType);
|
||||
return desc.nextId(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T> void sort(List<T> list, String sortByClause) {
|
||||
|
||||
@@ -895,6 +935,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return ((SpiQuery<T>) query).validate(beanDescriptor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Filter<T> filter(Class<T> beanType) {
|
||||
BeanDescriptor<T> desc = getBeanDescriptor(beanType);
|
||||
if (desc == null) {
|
||||
@@ -904,6 +945,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return new ElFilter<>(desc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> CsvReader<T> createCsvReader(Class<T> beanType) {
|
||||
BeanDescriptor<T> descriptor = getBeanDescriptor(beanType);
|
||||
if (descriptor == null) {
|
||||
@@ -912,10 +954,12 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return new TCsvReader<>(this, descriptor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> UpdateQuery<T> update(Class<T> beanType) {
|
||||
return new DefaultUpdateQuery<>(createQuery(beanType));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Query<T> find(Class<T> beanType) {
|
||||
return createQuery(beanType);
|
||||
}
|
||||
@@ -957,6 +1001,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return query;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> DefaultOrmQuery<T> createQuery(Class<T> beanType) {
|
||||
BeanDescriptor<T> desc = getBeanDescriptor(beanType);
|
||||
if (desc == null) {
|
||||
@@ -965,6 +1010,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return new DefaultOrmQuery<>(desc, this, expressionFactory);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Update<T> createUpdate(Class<T> beanType, String ormUpdate) {
|
||||
BeanDescriptor<?> desc = getBeanDescriptor(beanType);
|
||||
if (desc == null) {
|
||||
@@ -975,18 +1021,22 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return new DefaultOrmUpdate<>(beanType, this, desc.getBaseTable(), ormUpdate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlQuery createSqlQuery(String sql) {
|
||||
return new DefaultRelationalQuery(this, sql);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlUpdate createSqlUpdate(String sql) {
|
||||
return new DefaultSqlUpdate(this, sql);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CallableSql createCallableSql(String sql) {
|
||||
return new DefaultCallableSql(this, sql);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T find(Class<T> beanType, Object uid) {
|
||||
|
||||
return find(beanType, uid, null);
|
||||
@@ -995,6 +1045,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Find a bean using its unique id.
|
||||
*/
|
||||
@Override
|
||||
public <T> T find(Class<T> beanType, Object id, Transaction t) {
|
||||
|
||||
if (id == null) {
|
||||
@@ -1084,6 +1135,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Return the PersistenceContextScope to use defined at query or server level.
|
||||
*/
|
||||
@Override
|
||||
public PersistenceContextScope getPersistenceContextScope(SpiQuery<?> query) {
|
||||
PersistenceContextScope scope = query.getPersistenceContextScope();
|
||||
return (scope != null) ? scope : defaultPersistenceContextScope;
|
||||
@@ -1116,6 +1168,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T findUnique(Query<T> query, Transaction transaction) {
|
||||
|
||||
SpiQuery<T> spiQuery = (SpiQuery<T>) query;
|
||||
@@ -1157,6 +1210,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
public <T> Set<T> findSet(Query<T> query, Transaction t) {
|
||||
|
||||
@@ -1176,6 +1230,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings({"unchecked", "rawtypes"})
|
||||
public <K, T> Map<K, T> findMap(Query<T> query, Transaction t) {
|
||||
|
||||
@@ -1213,12 +1268,14 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> int findCount(Query<T> query, Transaction t) {
|
||||
|
||||
SpiQuery<T> copy = ((SpiQuery<T>) query).copy();
|
||||
return findCountWithCopy(copy, t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> int findCountWithCopy(Query<T> query, Transaction t) {
|
||||
|
||||
SpiOrmQueryRequest<T> request = createQueryRequest(Type.COUNT, query, t);
|
||||
@@ -1231,11 +1288,13 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <A, T> List<A> findIds(Query<T> query, Transaction t) {
|
||||
|
||||
return findIdsWithCopy(((SpiQuery<T>) query).copy(), t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <A, T> List<A> findIdsWithCopy(Query<T> query, Transaction t) {
|
||||
|
||||
SpiOrmQueryRequest<?> request = createQueryRequest(Type.ID_LIST, query, t);
|
||||
@@ -1248,6 +1307,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> int delete(Query<T> query, Transaction t) {
|
||||
|
||||
SpiOrmQueryRequest<T> request = createQueryRequest(Type.DELETE, query, t);
|
||||
@@ -1260,6 +1320,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> int update(Query<T> query, Transaction t) {
|
||||
|
||||
SpiOrmQueryRequest<T> request = createQueryRequest(Type.UPDATE, query, t);
|
||||
@@ -1272,6 +1333,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> FutureRowCount<T> findFutureCount(Query<T> q, Transaction t) {
|
||||
|
||||
SpiQuery<T> copy = ((SpiQuery<T>) q).copy();
|
||||
@@ -1291,6 +1353,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return findFutureCount(q, t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> FutureIds<T> findFutureIds(Query<T> query, Transaction t) {
|
||||
|
||||
SpiQuery<T> copy = ((SpiQuery<T>) query).copy();
|
||||
@@ -1306,6 +1369,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return queryFuture;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> FutureList<T> findFutureList(Query<T> query, Transaction t) {
|
||||
|
||||
SpiQuery<T> spiQuery = (SpiQuery<T>) query;
|
||||
@@ -1343,6 +1407,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return new LimitOffsetPagedList<>(this, spiQuery);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> QueryIterator<T> findIterate(Query<T> query, Transaction t) {
|
||||
|
||||
SpiOrmQueryRequest<T> request = createQueryRequest(Type.ITERATE, query, t);
|
||||
@@ -1356,6 +1421,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void findEach(Query<T> query, Consumer<T> consumer, Transaction t) {
|
||||
|
||||
SpiOrmQueryRequest<T> request = createQueryRequest(Type.ITERATE, query, t);
|
||||
@@ -1370,6 +1436,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
// no try finally - findEach guarantee's cleanup of the transaction if required
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void findEachWhile(Query<T> query, Predicate<T> consumer, Transaction t) {
|
||||
|
||||
SpiOrmQueryRequest<T> request = createQueryRequest(Type.ITERATE, query, t);
|
||||
@@ -1396,6 +1463,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T> List<T> findList(Query<T> query, Transaction t) {
|
||||
|
||||
@@ -1417,6 +1485,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlRow findUnique(SqlQuery query, Transaction t) {
|
||||
|
||||
// no findId() method for SqlQuery...
|
||||
@@ -1449,6 +1518,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SqlRow> findList(SqlQuery query, Transaction t) {
|
||||
|
||||
RelationalQueryRequest request = new RelationalQueryRequest(this, relationalQueryEngine, query, t);
|
||||
@@ -1465,6 +1535,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Persist the bean by either performing an insert or update.
|
||||
*/
|
||||
@Override
|
||||
public void save(Object bean) {
|
||||
save(bean, null);
|
||||
}
|
||||
@@ -1472,6 +1543,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Save the bean with an explicit transaction.
|
||||
*/
|
||||
@Override
|
||||
public void save(Object bean, Transaction t) {
|
||||
persister.save(checkEntityBean(bean), t);
|
||||
}
|
||||
@@ -1488,6 +1560,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Update the bean using the default 'updatesDeleteMissingChildren' setting.
|
||||
*/
|
||||
@Override
|
||||
public void update(Object bean) {
|
||||
update(bean, null);
|
||||
}
|
||||
@@ -1495,6 +1568,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Update the bean using the default 'updatesDeleteMissingChildren' setting.
|
||||
*/
|
||||
@Override
|
||||
public void update(Object bean, Transaction t) {
|
||||
persister.update(checkEntityBean(bean), t);
|
||||
}
|
||||
@@ -1502,6 +1576,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Update the bean specifying the deleteMissingChildren option.
|
||||
*/
|
||||
@Override
|
||||
public void update(Object bean, Transaction t, boolean deleteMissingChildren) {
|
||||
persister.update(checkEntityBean(bean), t, deleteMissingChildren);
|
||||
}
|
||||
@@ -1514,6 +1589,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Update all beans in the collection with an explicit transaction.
|
||||
*/
|
||||
@Override
|
||||
public void updateAll(Collection<?> beans, Transaction t) {
|
||||
|
||||
if (beans == null || beans.isEmpty()) {
|
||||
@@ -1538,6 +1614,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Insert the bean.
|
||||
*/
|
||||
@Override
|
||||
public void insert(Object bean) {
|
||||
insert(bean, null);
|
||||
}
|
||||
@@ -1545,6 +1622,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Insert the bean with a transaction.
|
||||
*/
|
||||
@Override
|
||||
public void insert(Object bean, Transaction t) {
|
||||
persister.insert(checkEntityBean(bean), t);
|
||||
}
|
||||
@@ -1552,6 +1630,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Insert all beans in the collection.
|
||||
*/
|
||||
@Override
|
||||
public void insertAll(Collection<?> beans) {
|
||||
insertAll(beans, null);
|
||||
}
|
||||
@@ -1559,6 +1638,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Insert all beans in the collection with a transaction.
|
||||
*/
|
||||
@Override
|
||||
public void insertAll(Collection<?> beans, Transaction t) {
|
||||
|
||||
if (beans == null || beans.isEmpty()) {
|
||||
@@ -1580,6 +1660,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> publish(Query<T> query, Transaction transaction) {
|
||||
|
||||
TransWrapper wrap = initTransIfRequired(transaction);
|
||||
@@ -1695,18 +1776,22 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int delete(Class<?> beanType, Object id) {
|
||||
return delete(beanType, id, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int delete(Class<?> beanType, Object id, Transaction t) {
|
||||
return delete(beanType, id, t, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deletePermanent(Class<?> beanType, Object id) {
|
||||
return delete(beanType, id, null, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deletePermanent(Class<?> beanType, Object id, Transaction t) {
|
||||
return delete(beanType, id, t, true);
|
||||
}
|
||||
@@ -1765,6 +1850,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Delete the bean.
|
||||
*/
|
||||
@Override
|
||||
public boolean delete(Object bean) {
|
||||
return delete(bean, null);
|
||||
}
|
||||
@@ -1772,6 +1858,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Delete the bean with the explicit transaction.
|
||||
*/
|
||||
@Override
|
||||
public boolean delete(Object bean, Transaction t) throws OptimisticLockException {
|
||||
return persister.delete(checkEntityBean(bean), t, false);
|
||||
}
|
||||
@@ -1842,6 +1929,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Execute the CallableSql with an explicit transaction.
|
||||
*/
|
||||
@Override
|
||||
public int execute(CallableSql callSql, Transaction t) {
|
||||
return persister.executeCallable(callSql, t);
|
||||
}
|
||||
@@ -1849,6 +1937,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Execute the CallableSql.
|
||||
*/
|
||||
@Override
|
||||
public int execute(CallableSql callSql) {
|
||||
return execute(callSql, null);
|
||||
}
|
||||
@@ -1856,6 +1945,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Execute the updateSql with an explicit transaction.
|
||||
*/
|
||||
@Override
|
||||
public int execute(SqlUpdate updSql, Transaction t) {
|
||||
return persister.executeSqlUpdate(updSql, t);
|
||||
}
|
||||
@@ -1863,6 +1953,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Execute the updateSql.
|
||||
*/
|
||||
@Override
|
||||
public int execute(SqlUpdate updSql) {
|
||||
return execute(updSql, null);
|
||||
}
|
||||
@@ -1870,6 +1961,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Execute the updateSql with an explicit transaction.
|
||||
*/
|
||||
@Override
|
||||
public int execute(Update<?> update, Transaction t) {
|
||||
return persister.executeOrmUpdate(update, t);
|
||||
}
|
||||
@@ -1877,6 +1969,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Execute the orm update.
|
||||
*/
|
||||
@Override
|
||||
public int execute(Update<?> update) {
|
||||
return execute(update, null);
|
||||
}
|
||||
@@ -1884,6 +1977,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Return all the BeanDescriptors.
|
||||
*/
|
||||
@Override
|
||||
public List<BeanDescriptor<?>> getBeanDescriptors() {
|
||||
return beanDescriptorManager.getBeanDescriptorList();
|
||||
}
|
||||
@@ -1902,6 +1996,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSupportedType(java.lang.reflect.Type genericType) {
|
||||
|
||||
TypeInfo typeInfo = ParamTypeHelper.getTypeInfo(genericType);
|
||||
@@ -1931,6 +2026,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Return the BeanDescriptor for a given type of bean.
|
||||
*/
|
||||
@Override
|
||||
public <T> BeanDescriptor<T> getBeanDescriptor(Class<T> beanClass) {
|
||||
return beanDescriptorManager.getBeanDescriptor(beanClass);
|
||||
}
|
||||
@@ -1938,6 +2034,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Return the BeanDescriptor's for a given table name.
|
||||
*/
|
||||
@Override
|
||||
public List<BeanDescriptor<?>> getBeanDescriptors(String tableName) {
|
||||
return beanDescriptorManager.getBeanDescriptors(tableName);
|
||||
}
|
||||
@@ -1945,6 +2042,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Return all the SPI BeanTypes.
|
||||
*/
|
||||
@Override
|
||||
public List<? extends BeanType<?>> getBeanTypes() {
|
||||
return getBeanDescriptors();
|
||||
}
|
||||
@@ -1952,6 +2050,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Return the SPI bean types mapped to the given table.
|
||||
*/
|
||||
@Override
|
||||
public List<? extends BeanType<?>> getBeanTypes(String tableName) {
|
||||
return beanDescriptorManager.getBeanTypes(tableName);
|
||||
}
|
||||
@@ -1977,6 +2076,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
/**
|
||||
* Return the BeanDescriptor using its class name.
|
||||
*/
|
||||
@Override
|
||||
public BeanDescriptor<?> getBeanDescriptorById(String beanClassName) {
|
||||
return beanDescriptorManager.getBeanDescriptorByClassName(beanClassName);
|
||||
}
|
||||
@@ -1986,6 +2086,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* BeanListeners of inserts updates and deletes that occurred remotely (on
|
||||
* another server in the cluster).
|
||||
*/
|
||||
@Override
|
||||
public void remoteTransactionEvent(RemoteTransactionEvent event) {
|
||||
transactionManager.remoteTransactionEvent(event);
|
||||
}
|
||||
@@ -2015,10 +2116,12 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
return new TransWrapper(trans, wasCreated);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpiTransaction createServerTransaction(boolean isExplicit, int isolationLevel) {
|
||||
return transactionManager.createTransaction(isExplicit, isolationLevel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpiTransaction createQueryTransaction(Object tenantId) {
|
||||
return transactionManager.createQueryTransaction(tenantId);
|
||||
}
|
||||
@@ -2030,6 +2133,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
|
||||
* element in the CallStack should be application code.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public CallStack createCallStack() {
|
||||
|
||||
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
|
||||
|
||||
@@ -93,6 +93,7 @@ public final class DefaultSqlUpdate implements Serializable, SpiSqlUpdate {
|
||||
this(null, sql, new BindParams());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int execute() {
|
||||
if (server != null) {
|
||||
return server.execute(this);
|
||||
@@ -102,24 +103,29 @@ public final class DefaultSqlUpdate implements Serializable, SpiSqlUpdate {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoTableMod() {
|
||||
return isAutoTableMod;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlUpdate setAutoTableMod(boolean isAutoTableMod) {
|
||||
this.isAutoTableMod = isAutoTableMod;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlUpdate setLabel(String label) {
|
||||
this.label = label;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGeneratedSql() {
|
||||
return generatedSql;
|
||||
}
|
||||
@@ -129,14 +135,17 @@ public final class DefaultSqlUpdate implements Serializable, SpiSqlUpdate {
|
||||
this.generatedSql = generatedSql;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSql() {
|
||||
return sql;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTimeout() {
|
||||
return timeout;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlUpdate setTimeout(int secs) {
|
||||
this.timeout = secs;
|
||||
return this;
|
||||
@@ -146,31 +155,37 @@ public final class DefaultSqlUpdate implements Serializable, SpiSqlUpdate {
|
||||
setParameter(++addPos, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlUpdate setParameter(int position, Object value) {
|
||||
bindParams.setParameter(position, value);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlUpdate setNull(int position, int jdbcType) {
|
||||
bindParams.setNullParameter(position, jdbcType);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlUpdate setNullParameter(int position, int jdbcType) {
|
||||
bindParams.setNullParameter(position, jdbcType);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlUpdate setParameter(String name, Object param) {
|
||||
bindParams.setParameter(name, param);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlUpdate setNull(String name, int jdbcType) {
|
||||
bindParams.setNullParameter(name, jdbcType);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SqlUpdate setNullParameter(String name, int jdbcType) {
|
||||
bindParams.setNullParameter(name, jdbcType);
|
||||
return this;
|
||||
@@ -179,6 +194,7 @@ public final class DefaultSqlUpdate implements Serializable, SpiSqlUpdate {
|
||||
/**
|
||||
* Return the bind parameters.
|
||||
*/
|
||||
@Override
|
||||
public BindParams getBindParams() {
|
||||
return bindParams;
|
||||
}
|
||||
|
||||
@@ -92,6 +92,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
return ebeanServer.getDatabasePlatform().getLikeClause();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeSecondaryQueries(boolean forEach) {
|
||||
// disable lazy loading leaves loadContext null
|
||||
if (loadContext != null) {
|
||||
@@ -121,6 +122,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
/**
|
||||
* Return the BeanDescriptor for the associated bean.
|
||||
*/
|
||||
@Override
|
||||
public BeanDescriptor<T> getBeanDescriptor() {
|
||||
return beanDescriptor;
|
||||
}
|
||||
@@ -216,6 +218,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
/**
|
||||
* Return the JsonReadOptions taking into account lazy loading and persistence context.
|
||||
*/
|
||||
@Override
|
||||
public JsonReadOptions createJsonReadOptions() {
|
||||
|
||||
persistenceContext = getPersistenceContext(query, transaction);
|
||||
@@ -266,6 +269,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
* It ends the query only transaction.
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public void endTransIfRequired() {
|
||||
if (createdTransaction) {
|
||||
transaction.commit();
|
||||
@@ -282,6 +286,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
/**
|
||||
* Execute the query as a delete.
|
||||
*/
|
||||
@Override
|
||||
public int delete() {
|
||||
return queryEngine.delete(this);
|
||||
}
|
||||
@@ -289,6 +294,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
/**
|
||||
* Execute the query as a update.
|
||||
*/
|
||||
@Override
|
||||
public int update() {
|
||||
return queryEngine.update(this);
|
||||
}
|
||||
@@ -296,18 +302,22 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
/**
|
||||
* Execute the query as findById.
|
||||
*/
|
||||
@Override
|
||||
public Object findId() {
|
||||
return queryEngine.findId(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int findCount() {
|
||||
return queryEngine.findCount(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <A> List<A> findIds() {
|
||||
return queryEngine.findIds(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void findEach(Consumer<T> consumer) {
|
||||
try (QueryIterator<T> it = queryEngine.findIterate(this)) {
|
||||
while (it.hasNext()) {
|
||||
@@ -316,6 +326,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void findEachWhile(Predicate<T> consumer) {
|
||||
try (QueryIterator<T> it = queryEngine.findIterate(this)) {
|
||||
while (it.hasNext()) {
|
||||
@@ -326,6 +337,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryIterator<T> findIterate() {
|
||||
return queryEngine.findIterate(this);
|
||||
}
|
||||
@@ -333,11 +345,13 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
/**
|
||||
* Execute the query as findList.
|
||||
*/
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<T> findList() {
|
||||
return (List<T>) queryEngine.findMany(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Version<T>> findVersions() {
|
||||
return queryEngine.findVersions(this);
|
||||
}
|
||||
@@ -345,6 +359,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
/**
|
||||
* Execute the query as findSet.
|
||||
*/
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public Set<?> findSet() {
|
||||
return (Set<T>) queryEngine.findMany(this);
|
||||
@@ -353,6 +368,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
/**
|
||||
* Execute the query as findMap.
|
||||
*/
|
||||
@Override
|
||||
public Map<?, ?> findMap() {
|
||||
String mapKey = query.getMapKey();
|
||||
if (mapKey == null) {
|
||||
@@ -384,6 +400,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
/**
|
||||
* Return the find that is to be performed.
|
||||
*/
|
||||
@Override
|
||||
public SpiQuery<T> getQuery() {
|
||||
return query;
|
||||
}
|
||||
@@ -430,6 +447,7 @@ public final class OrmQueryRequest<T> extends BeanRequest implements BeanQueryRe
|
||||
/**
|
||||
* Try to get the query result from the query cache.
|
||||
*/
|
||||
@Override
|
||||
public BeanCollection<T> getFromQueryCache() {
|
||||
|
||||
if (!query.isUseQueryCache()) {
|
||||
|
||||
@@ -42,10 +42,12 @@ public abstract class PersistRequest extends BeanRequest implements BatchPostExe
|
||||
*/
|
||||
public abstract int executeNow();
|
||||
|
||||
@Override
|
||||
public boolean isLogSql() {
|
||||
return transaction.isLogSql();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLogSummary() {
|
||||
return transaction.isLogSummary();
|
||||
}
|
||||
|
||||
@@ -66,6 +66,7 @@ public final class PersistRequestCallableSql extends PersistRequest {
|
||||
/**
|
||||
* Note the rowCount of the execution.
|
||||
*/
|
||||
@Override
|
||||
public void checkRowCount(int count) {
|
||||
this.rowCount = count;
|
||||
}
|
||||
@@ -73,12 +74,14 @@ public final class PersistRequestCallableSql extends PersistRequest {
|
||||
/**
|
||||
* Only called for insert with generated keys.
|
||||
*/
|
||||
@Override
|
||||
public void setGeneratedKey(Object idValue) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform post execute processing for the CallableSql.
|
||||
*/
|
||||
@Override
|
||||
public void postExecute() {
|
||||
|
||||
if (transaction.isLogSummary()) {
|
||||
|
||||
@@ -57,6 +57,7 @@ public final class PersistRequestOrmUpdate extends PersistRequest {
|
||||
/**
|
||||
* No concurrency checking so just note the rowCount.
|
||||
*/
|
||||
@Override
|
||||
public void checkRowCount(int count) {
|
||||
this.rowCount = count;
|
||||
}
|
||||
@@ -64,6 +65,7 @@ public final class PersistRequestOrmUpdate extends PersistRequest {
|
||||
/**
|
||||
* Not called for this type of request.
|
||||
*/
|
||||
@Override
|
||||
public void setGeneratedKey(Object idValue) {
|
||||
}
|
||||
|
||||
@@ -77,6 +79,7 @@ public final class PersistRequestOrmUpdate extends PersistRequest {
|
||||
/**
|
||||
* Perform post execute processing.
|
||||
*/
|
||||
@Override
|
||||
public void postExecute() {
|
||||
|
||||
OrmUpdateType ormUpdateType = ormUpdate.getOrmUpdateType();
|
||||
|
||||
@@ -58,6 +58,7 @@ public final class PersistRequestUpdateSql extends PersistRequest {
|
||||
/**
|
||||
* No concurrency checking so just note the rowCount.
|
||||
*/
|
||||
@Override
|
||||
public void checkRowCount(int count) {
|
||||
this.rowCount = count;
|
||||
}
|
||||
@@ -65,6 +66,7 @@ public final class PersistRequestUpdateSql extends PersistRequest {
|
||||
/**
|
||||
* Not called for this type of request.
|
||||
*/
|
||||
@Override
|
||||
public void setGeneratedKey(Object idValue) {
|
||||
}
|
||||
|
||||
@@ -88,6 +90,7 @@ public final class PersistRequestUpdateSql extends PersistRequest {
|
||||
/**
|
||||
* Perform post execute processing.
|
||||
*/
|
||||
@Override
|
||||
public void postExecute() {
|
||||
|
||||
if (transaction.isLogSummary()) {
|
||||
|
||||
@@ -16,6 +16,7 @@ public class ServletContextListener implements javax.servlet.ServletContextListe
|
||||
/**
|
||||
* The servlet container is stopping.
|
||||
*/
|
||||
@Override
|
||||
public void contextDestroyed(ServletContextEvent event) {
|
||||
ShutdownManager.shutdown();
|
||||
}
|
||||
@@ -23,6 +24,7 @@ public class ServletContextListener implements javax.servlet.ServletContextListe
|
||||
/**
|
||||
* Do nothing on startup.
|
||||
*/
|
||||
@Override
|
||||
public void contextInitialized(ServletContextEvent event) {
|
||||
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ public interface SpiOrmQueryRequest<T> extends DocQueryRequest<T> {
|
||||
/**
|
||||
* Return the query.
|
||||
*/
|
||||
@Override
|
||||
SpiQuery<T> getQuery();
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,6 +13,7 @@ final class AssocOneHelpEmbedded extends AssocOneHelp {
|
||||
super(property);
|
||||
}
|
||||
|
||||
@Override
|
||||
void loadIgnore(DbReadContext ctx) {
|
||||
for (int i = 0; i < property.embeddedProps.length; i++) {
|
||||
property.embeddedProps[i].loadIgnore(ctx);
|
||||
|
||||
@@ -596,6 +596,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
|
||||
/**
|
||||
* Return true if this is a "Doc Store only" entity bean.
|
||||
*/
|
||||
@Override
|
||||
public boolean isDocStoreOnly() {
|
||||
return EntityType.DOC == entityType;
|
||||
}
|
||||
@@ -1032,6 +1033,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
|
||||
/**
|
||||
* Return the root bean type if part of inheritance hierarchy.
|
||||
*/
|
||||
@Override
|
||||
public BeanType<?> root() {
|
||||
if (inheritInfo != null && !inheritInfo.isRoot()) {
|
||||
return inheritInfo.getRoot().desc();
|
||||
@@ -1523,6 +1525,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
|
||||
/**
|
||||
* Return the 'when modified' property if there is one defined.
|
||||
*/
|
||||
@Override
|
||||
public BeanProperty getWhenModifiedProperty() {
|
||||
return whenModifiedProperty;
|
||||
}
|
||||
@@ -1530,6 +1533,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
|
||||
/**
|
||||
* Return the 'when created' property if there is one defined.
|
||||
*/
|
||||
@Override
|
||||
public BeanProperty getWhenCreatedProperty() {
|
||||
return whenCreatedProperty;
|
||||
}
|
||||
@@ -1830,6 +1834,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
|
||||
/**
|
||||
* Return the short name of the entity bean.
|
||||
*/
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
@@ -1837,6 +1842,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
|
||||
/**
|
||||
* Summary description.
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return fullName;
|
||||
}
|
||||
@@ -2321,6 +2327,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
|
||||
/**
|
||||
* Return the beanListener.
|
||||
*/
|
||||
@Override
|
||||
public BeanPersistListener getPersistListener() {
|
||||
return persistListener;
|
||||
}
|
||||
@@ -2343,6 +2350,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
|
||||
/**
|
||||
* Return the BeanQueryAdapter or null if none is defined.
|
||||
*/
|
||||
@Override
|
||||
public BeanQueryAdapter getQueryAdapter() {
|
||||
return queryAdapter;
|
||||
}
|
||||
@@ -2429,6 +2437,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
|
||||
/**
|
||||
* Return the Controller.
|
||||
*/
|
||||
@Override
|
||||
public BeanPersistController getPersistController() {
|
||||
return persistController;
|
||||
}
|
||||
@@ -2461,6 +2470,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
|
||||
* Return the base table. Only properties mapped to the base table are by
|
||||
* default persisted.
|
||||
*/
|
||||
@Override
|
||||
public String getBaseTable() {
|
||||
return baseTable;
|
||||
}
|
||||
@@ -2611,6 +2621,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
|
||||
/**
|
||||
* Return the identity generation type.
|
||||
*/
|
||||
@Override
|
||||
public IdType getIdType() {
|
||||
return idType;
|
||||
}
|
||||
@@ -2625,6 +2636,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
|
||||
/**
|
||||
* Return the sequence name.
|
||||
*/
|
||||
@Override
|
||||
public String getSequenceName() {
|
||||
return sequenceName;
|
||||
}
|
||||
|
||||
@@ -264,6 +264,7 @@ public class BeanDescriptorManager implements BeanDescriptorMap {
|
||||
return descQueueMap.get(queueId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T> BeanDescriptor<T> getBeanDescriptor(Class<T> entityType) {
|
||||
return (BeanDescriptor<T>) descMap.get(entityType.getName());
|
||||
@@ -274,14 +275,17 @@ public class BeanDescriptorManager implements BeanDescriptorMap {
|
||||
return (BeanDescriptor<T>) descMap.get(entityClassName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getServerName() {
|
||||
return serverName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpiCacheManager getCacheManager() {
|
||||
return cacheManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NamingConvention getNamingConvention() {
|
||||
return namingConvention;
|
||||
}
|
||||
@@ -295,6 +299,7 @@ public class BeanDescriptorManager implements BeanDescriptorMap {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IdBinder createIdBinder(BeanProperty idProperty) {
|
||||
return idBinderFactory.createIdBinder(idProperty);
|
||||
}
|
||||
@@ -407,6 +412,7 @@ public class BeanDescriptorManager implements BeanDescriptorMap {
|
||||
/**
|
||||
* Return the Encrypt key given the table and column name.
|
||||
*/
|
||||
@Override
|
||||
public EncryptKey getEncryptKey(String tableName, String columnName) {
|
||||
return encryptKeyManager.getEncryptKey(tableName, columnName);
|
||||
}
|
||||
@@ -1491,6 +1497,7 @@ public class BeanDescriptorManager implements BeanDescriptorMap {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public int compare(BeanDescriptor<?> o1, BeanDescriptor<?> o2) {
|
||||
|
||||
return o1.getName().compareTo(o2.getName());
|
||||
|
||||
@@ -31,6 +31,7 @@ public final class BeanFkeyProperty implements ElPropertyValue {
|
||||
this.placeHolder = calcPlaceHolder(prefix, dbColumn);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "prefix:" + prefix + " name:" + name + " dbColumn:" + dbColumn + " ph:" + placeHolder;
|
||||
}
|
||||
@@ -62,6 +63,7 @@ public final class BeanFkeyProperty implements ElPropertyValue {
|
||||
/**
|
||||
* Returns false for keys.
|
||||
*/
|
||||
@Override
|
||||
public boolean isDbEncrypted() {
|
||||
return false;
|
||||
}
|
||||
@@ -69,6 +71,7 @@ public final class BeanFkeyProperty implements ElPropertyValue {
|
||||
/**
|
||||
* Returns false for keys.
|
||||
*/
|
||||
@Override
|
||||
public boolean isLocalEncrypted() {
|
||||
return false;
|
||||
}
|
||||
@@ -81,22 +84,27 @@ public final class BeanFkeyProperty implements ElPropertyValue {
|
||||
/**
|
||||
* Returns false.
|
||||
*/
|
||||
@Override
|
||||
public boolean containsMany() {
|
||||
return containsMany;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsManySince(String sinceProperty) {
|
||||
return containsMany();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDbColumn() {
|
||||
return dbColumn;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getElName() {
|
||||
return name;
|
||||
}
|
||||
@@ -104,6 +112,7 @@ public final class BeanFkeyProperty implements ElPropertyValue {
|
||||
/**
|
||||
* Returns null as not an AssocOne.
|
||||
*/
|
||||
@Override
|
||||
public Object[] getAssocIdValues(EntityBean value) {
|
||||
return null;
|
||||
}
|
||||
@@ -111,6 +120,7 @@ public final class BeanFkeyProperty implements ElPropertyValue {
|
||||
/**
|
||||
* Returns null as not an AssocOne.
|
||||
*/
|
||||
@Override
|
||||
public String getAssocIdExpression(String prefix, String operator) {
|
||||
return null;
|
||||
}
|
||||
@@ -118,6 +128,7 @@ public final class BeanFkeyProperty implements ElPropertyValue {
|
||||
/**
|
||||
* Returns null as not an AssocOne.
|
||||
*/
|
||||
@Override
|
||||
public String getAssocIdInExpr(String prefix) {
|
||||
return null;
|
||||
}
|
||||
@@ -125,6 +136,7 @@ public final class BeanFkeyProperty implements ElPropertyValue {
|
||||
/**
|
||||
* Returns null as not an AssocOne.
|
||||
*/
|
||||
@Override
|
||||
public String getAssocIdInValueExpr(int size) {
|
||||
return null;
|
||||
}
|
||||
@@ -152,30 +164,37 @@ public final class BeanFkeyProperty implements ElPropertyValue {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getElPlaceholder(boolean encrypted) {
|
||||
return placeHolder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getElPrefix() {
|
||||
return prefix;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDateTimeCapable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getJdbcType() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BeanProperty getBeanProperty() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object parseDateTime(long systemTimeMillis) {
|
||||
throw new RuntimeException("ElPropertyDeploy only - not implemented");
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringParser getStringParser() {
|
||||
throw new RuntimeException("ElPropertyDeploy only - not implemented");
|
||||
}
|
||||
|
||||
@@ -85,6 +85,7 @@ public final class BeanMapHelp<T> implements BeanCollectionHelp<T> {
|
||||
this.map = map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEntityBean(EntityBean bean) {
|
||||
Object keyValue = beanProperty.getValue(bean);
|
||||
map.put(keyValue, bean);
|
||||
|
||||
@@ -557,6 +557,7 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
return secondaryTableJoinPrefix;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAggregation() {
|
||||
return aggregation != null;
|
||||
}
|
||||
@@ -647,6 +648,7 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
return scalarType.readData(dataInput);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BeanProperty getBeanProperty() {
|
||||
return this;
|
||||
}
|
||||
@@ -786,6 +788,7 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
throw new RuntimeException("Expected to be called only on BeanPropertyCompoundScalar");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getVal(Object bean) {
|
||||
return getValue((EntityBean) bean);
|
||||
}
|
||||
@@ -813,6 +816,7 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object convert(Object value) {
|
||||
if (value == null) {
|
||||
return null;
|
||||
@@ -845,6 +849,7 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
/**
|
||||
* Return the name of the property.
|
||||
*/
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
@@ -856,6 +861,7 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
return propertyIndex;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getElName() {
|
||||
return name;
|
||||
}
|
||||
@@ -865,10 +871,12 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
return formula && sqlFormulaJoin != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsManySince(String sinceProperty) {
|
||||
return containsMany();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsMany() {
|
||||
return aggregation != null;
|
||||
}
|
||||
@@ -879,21 +887,25 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
throw new RuntimeException("Not Supported or Expected");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getAssocIdValues(EntityBean bean) {
|
||||
// Returns null as not an AssocOne.
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAssocIdExpression(String prefix, String operator) {
|
||||
// Returns null as not an AssocOne.
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAssocIdInExpr(String prefix) {
|
||||
// Returns null as not an AssocOne.
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAssocIdInValueExpr(int size) {
|
||||
// Returns null as not an AssocOne.
|
||||
return null;
|
||||
@@ -905,20 +917,24 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAssocId() {
|
||||
// Returns false - override in BeanPropertyAssocOne.
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAssocProperty() {
|
||||
// Returns false - override in BeanPropertyAssocOne.
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getElPlaceholder(boolean encrypted) {
|
||||
return encrypted ? elPlaceHolderEncrypted : elPlaceHolder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getElPrefix() {
|
||||
return elPrefix;
|
||||
}
|
||||
@@ -946,18 +962,22 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
return scalarType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringParser getStringParser() {
|
||||
return scalarType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDateTimeCapable() {
|
||||
return scalarType != null && scalarType.isDateTimeCapable();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getJdbcType() {
|
||||
return scalarType == null ? 0 : scalarType.getJdbcType();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object parseDateTime(long systemTimeMillis) {
|
||||
return scalarType.convertFromMillis(systemTimeMillis);
|
||||
}
|
||||
@@ -1102,6 +1122,7 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
/**
|
||||
* The database column name this is mapped to.
|
||||
*/
|
||||
@Override
|
||||
public String getDbColumn() {
|
||||
return dbColumn;
|
||||
}
|
||||
@@ -1178,6 +1199,7 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
/**
|
||||
* Returns true if DB encrypted.
|
||||
*/
|
||||
@Override
|
||||
public boolean isLocalEncrypted() {
|
||||
return localEncrypted;
|
||||
}
|
||||
@@ -1185,6 +1207,7 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
/**
|
||||
* Return true if this property is stored encrypted.
|
||||
*/
|
||||
@Override
|
||||
public boolean isDbEncrypted() {
|
||||
return dbEncrypted;
|
||||
}
|
||||
@@ -1309,6 +1332,7 @@ public class BeanProperty implements ElPropertyValue, Property {
|
||||
return embedded;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@@ -144,6 +144,7 @@ public abstract class BeanPropertyAssoc<T> extends BeanProperty {
|
||||
/**
|
||||
* Return false.
|
||||
*/
|
||||
@Override
|
||||
public boolean isScalar() {
|
||||
return false;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user