KaumeiLib.java
/*
* SPDX-FileCopyrightText: 2025 kaumei.io
* SPDX-License-Identifier: Apache-2.0
*/
package io.kaumei.jdbc.anno.gen;
import com.palantir.javapoet.CodeBlock;
import io.kaumei.jdbc.anno.model.OptionalFlag;
import io.kaumei.jdbc.impl.JdbcUtils;
import javax.lang.model.type.TypeMirror;
import java.util.Objects;
public final class KaumeiLib {
private KaumeiLib() {
// prevent instantiation
}
// ------------------------------------------------------------------------
public static CodeBlock requireNonNull(String javaName) {
return CodeBlock.of("$T.requireNonNull($L, $S)", Objects.class, javaName, javaName);
}
public static CodeBlock requireNonNull(CodeBlock access) {
return CodeBlock.of("$T.requireNonNull($L, $S)", Objects.class, access, access.toString());
}
public static CodeBlock nullCheck(OptionalFlag optionalFlag, TypeMirror type, CodeBlock access) {
return optionalFlag.isNonNull() && !type.getKind().isPrimitive()
? CodeBlock.of("$T.requireNonNull($L, $S)", Objects.class, access, access.toString())
: CodeBlock.of("$L", access);
}
public static CodeBlock throwNullPointerException(CodeBlock message) {
return CodeBlock.of("throw new $T($S)", NullPointerException.class, message.toString());
}
public static CodeBlock marks(CodeBlock count, int maxPlaceholders, String parameterName) {
return CodeBlock.of("$T.marks($L, $L, $S)", JdbcUtils.class, count, maxPlaceholders, parameterName);
}
public static CodeBlock checkPlaceholder(String count, CodeBlock add, int maxPlaceholders) {
return CodeBlock.of("$T.checkPlaceholder($L, $L, $L)", JdbcUtils.class, count, add, maxPlaceholders);
}
}