apollo.util.function.Functions Maven / Gradle / Ivy
The newest version!
package apollo.util.function;
import apollo.exceptions.ApolloConfigException;
import apollo.util.parser.ParserException;
import apollo.util.parser.Parsers;
import com.google.common.base.Function;
import java.util.Date;
/**
* @author Jason Song([email protected])
*/
public interface Functions {
Function TO_INT_FUNCTION = new Function() {
@Override
public Integer apply(String input) {
return Integer.parseInt(input);
}
};
Function TO_LONG_FUNCTION = new Function() {
@Override
public Long apply(String input) {
return Long.parseLong(input);
}
};
Function TO_SHORT_FUNCTION = new Function() {
@Override
public Short apply(String input) {
return Short.parseShort(input);
}
};
Function TO_FLOAT_FUNCTION = new Function() {
@Override
public Float apply(String input) {
return Float.parseFloat(input);
}
};
Function TO_DOUBLE_FUNCTION = new Function() {
@Override
public Double apply(String input) {
return Double.parseDouble(input);
}
};
Function TO_BYTE_FUNCTION = new Function() {
@Override
public Byte apply(String input) {
return Byte.parseByte(input);
}
};
Function TO_BOOLEAN_FUNCTION = new Function() {
@Override
public Boolean apply(String input) {
return Boolean.parseBoolean(input);
}
};
Function TO_DATE_FUNCTION = new Function() {
@Override
public Date apply(String input) {
try {
return Parsers.forDate().parse(input);
} catch (ParserException ex) {
throw new ApolloConfigException("Parse date failed", ex);
}
}
};
Function TO_DURATION_FUNCTION = new Function() {
@Override
public Long apply(String input) {
try {
return Parsers.forDuration().parseToMillis(input);
} catch (ParserException ex) {
throw new ApolloConfigException("Parse duration failed", ex);
}
}
};
}