
kr.jm.metric.config.mutator.AbstractMutatorConfig Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jm-metric Show documentation
Show all versions of jm-metric Show documentation
FieldMap Transformer From Various Formatted Data
package kr.jm.metric.config.mutator;
import kr.jm.metric.config.AbstractConfig;
import kr.jm.metric.config.mutator.field.FieldConfig;
import kr.jm.utils.datastructure.JMArrays;
import kr.jm.utils.helper.JMLambda;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;
@ToString
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public abstract class AbstractMutatorConfig extends AbstractConfig implements
MutatorConfigInterface {
@Getter
protected String mutatorId;
@Getter
protected MutatorConfigType mutatorConfigType;
@Getter
protected FieldConfig fieldConfig;
protected String[] fields;
@Getter
protected int workers;
public AbstractMutatorConfig(String mutatorId,
MutatorConfigType mutatorConfigType) {
this(mutatorId, mutatorConfigType, null);
}
public AbstractMutatorConfig(String mutatorId,
MutatorConfigType mutatorConfigType,
FieldConfig fieldConfig, String... fields) {
this.mutatorId = mutatorId;
this.mutatorConfigType = mutatorConfigType;
this.fieldConfig = fieldConfig;
this.fields = fields;
}
@Override
public String[] getFields() {
return JMLambda.supplierIfNull(this.fields,
() -> this.fields = JMArrays.EMPTY_STRINGS);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy