Skip to content

Commit

Permalink
runtime-compute: Add HasCase trait so that ToString and ToChar can sh…
Browse files Browse the repository at this point in the history
…are javadoc
  • Loading branch information
Emil Forslund committed May 8, 2018
1 parent 31ed3db commit 20389e0
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 0 deletions.
Expand Up @@ -34,6 +34,7 @@ public interface ToChar<T>
HasAsInt<T>,
HasAsLong<T>,
HasMap<T, CharUnaryOperator, ToChar<T>>,
HasCase<T, ToChar<T>>,
HasHash<T>,
HasCompare<T>,
HasCompose<T> {
Expand Down Expand Up @@ -81,10 +82,12 @@ default ToChar<T> map(CharUnaryOperator operator) {
return MapperUtil.map(this, operator);
}

@Override
default ToChar<T> toUpperCase() {
return map(Character::toUpperCase);
}

@Override
default ToChar<T> toLowerCase() {
return map(Character::toLowerCase);
}
Expand Down
Expand Up @@ -4,6 +4,7 @@
import com.speedment.runtime.compute.expression.ExpressionType;
import com.speedment.runtime.compute.internal.expression.ComposedUtil;
import com.speedment.runtime.compute.internal.expression.MapperUtil;
import com.speedment.runtime.compute.trait.HasCase;
import com.speedment.runtime.compute.trait.HasCompare;
import com.speedment.runtime.compute.trait.HasCompose;
import com.speedment.runtime.compute.trait.HasHash;
Expand All @@ -30,6 +31,7 @@ public interface ToString<T>
extends Expression<T>,
Function<T, String>,
HasMap<T, UnaryOperator<String>, ToString<T>>,
HasCase<T, ToString<T>>,
HasHash<T>,
HasCompare<T>,
HasCompose<T> {
Expand Down Expand Up @@ -66,10 +68,12 @@ default ToString<T> map(UnaryOperator<String> mapper) {
return MapperUtil.map(this, mapper);
}

@Override
default ToString<T> toUpperCase() {
return map(String::toUpperCase);
}

@Override
default ToString<T> toLowerCase() {
return map(String::toLowerCase);
}
Expand Down
@@ -0,0 +1,30 @@
package com.speedment.runtime.compute.trait;

import com.speedment.runtime.compute.expression.Expression;

/**
* Trait for expressions that has {@link #toUpperCase()} and
* {@link #toLowerCase()} operations.
*
* @author Emil Forslund
* @since 3.1.0
*/
public interface HasCase<T, RESULT extends Expression<T>> {

/**
* Returns an expression that is equivalent to this expression, except that
* results are always in upper-case letters.
*
* @return the upper case expression
*/
RESULT toUpperCase();

/**
* Returns an expression that is equivalent to this expression, except that
* results are always in lower-case letters.
*
* @return the lower case expression
*/
RESULT toLowerCase();

}

0 comments on commit 20389e0

Please sign in to comment.