This commit is contained in:
Redkale
2016-07-27 16:51:46 +08:00
parent c3fde23d77
commit 72e25d653b

View File

@@ -28,7 +28,7 @@ public final class Flipper implements Serializable, Cloneable {
} }
public Flipper(int limit) { public Flipper(int limit) {
this.limit = limit; this.limit = limit > 0 ? limit : DEFAULT_LIMIT;
} }
public Flipper(String sortColumn) { public Flipper(String sortColumn) {
@@ -46,18 +46,20 @@ public final class Flipper implements Serializable, Cloneable {
this.sort = sortColumn; this.sort = sortColumn;
} }
public void copyTo(Flipper copy) { public Flipper copyTo(Flipper copy) {
if (copy == null) return; if (copy == null) return copy;
copy.offset = this.offset; copy.offset = this.offset;
copy.limit = this.limit; copy.limit = this.limit;
copy.sort = this.sort; copy.sort = this.sort;
return copy;
} }
public void copyFrom(Flipper copy) { public Flipper copyFrom(Flipper copy) {
if (copy == null) return; if (copy == null) return this;
this.offset = copy.offset; this.offset = copy.offset;
this.limit = copy.limit; this.limit = copy.limit;
this.sort = copy.sort; this.sort = copy.sort;
return this;
} }
public Flipper next() { public Flipper next() {
@@ -68,11 +70,7 @@ public final class Flipper implements Serializable, Cloneable {
@Override @Override
@SuppressWarnings("CloneDoesntCallSuperClone") @SuppressWarnings("CloneDoesntCallSuperClone")
public Flipper clone() { public Flipper clone() {
return new Flipper(this.limit, this.offset, this.sort); return this.copyTo(new Flipper());
}
public int getOffset() {
return offset;
} }
@Override @Override
@@ -90,14 +88,39 @@ public final class Flipper implements Serializable, Cloneable {
} }
} }
public Flipper limit(int limit) {
setLimit(limit);
return this;
}
public int getOffset() {
return offset;
}
public void setOffset(int offset) { public void setOffset(int offset) {
this.offset = offset < 0 ? 0 : offset; this.offset = offset < 0 ? 0 : offset;
} }
public Flipper offset(int offset) {
setOffset(offset);
return this;
}
public String getSort() { public String getSort() {
return sort; return sort;
} }
public void setSort(String sort) {
if (sort != null) {
this.sort = sort.trim();
}
}
public Flipper sort(String sort) {
setSort(sort);
return this;
}
public static Flipper sortIfAbsent(Flipper flipper, String sort) { public static Flipper sortIfAbsent(Flipper flipper, String sort) {
if (flipper != null) return flipper.sortIfAbsent(sort); if (flipper != null) return flipper.sortIfAbsent(sort);
return flipper; return flipper;
@@ -110,10 +133,4 @@ public final class Flipper implements Serializable, Cloneable {
return this; return this;
} }
public void setSort(String sort) {
if (sort != null) {
this.sort = sort.trim();
}
}
} }