com.kenshoo.pl.entity.internal.audit.AuditFieldNameResolver Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of persistence-layer Show documentation
Show all versions of persistence-layer Show documentation
A Java persistence layer based on JOOQ for high performance and business flow support.
package com.kenshoo.pl.entity.internal.audit;
import com.kenshoo.pl.entity.EntityField;
import com.kenshoo.pl.entity.EntityType;
import com.kenshoo.pl.entity.annotation.audit.Audited;
import org.apache.commons.lang3.StringUtils;
import java.util.Optional;
import static com.kenshoo.pl.entity.internal.EntityTypeReflectionUtil.getFieldAnnotation;
import static java.util.Objects.requireNonNull;
public class AuditFieldNameResolver {
static final AuditFieldNameResolver INSTANCE = new AuditFieldNameResolver();
public > String resolve(final EntityField field) {
requireNonNull(field, "field is required");
return Optional.ofNullable(getFieldAnnotation(field.getEntityType(), field, Audited.class))
.map(Audited::name)
.filter(StringUtils::isNotBlank)
.orElse(field.toString());
}
private AuditFieldNameResolver() {
// singleton
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy