添加 ValidatableStringRecord 类。

This commit is contained in:
2023-04-30 22:12:22 +08:00
parent 1789399efe
commit c92da56465
2 changed files with 92 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
package xyz.zhouxy.plusone.commons.domain;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import xyz.zhouxy.plusone.commons.annotation.StaticFactoryMethod;
import xyz.zhouxy.plusone.commons.annotation.ValueObject;
import xyz.zhouxy.plusone.commons.constant.PatternConsts;
class ValidatableStringRecordTests {
private static final Logger log = LoggerFactory.getLogger(ValidatableStringRecordTests.class);
@Test
void test() {
Username username = Username.of("ZhouXY");
assertNotNull(username);
String usernameStr = username.value();
assertNotNull(usernameStr);
log.info("usernameStr: {}", usernameStr);
}
}
@ValueObject
class Username extends ValidatableStringRecord {
private Username(String username) {
super(username, PatternConsts.USERNAME);
}
@StaticFactoryMethod(Username.class)
public static Username of(String username) {
return new Username(username);
}
}