package com.constellio.app.modules.rm.model.calculators;
import com.constellio.app.modules.rm.wrappers.ContainerRecord;
import com.constellio.model.entities.calculators.CalculatorParameters;
import com.constellio.model.entities.calculators.MetadataValueCalculator;
import com.constellio.model.entities.calculators.dependencies.Dependency;
import com.constellio.model.entities.calculators.dependencies.LocalDependency;
import com.constellio.model.entities.schemas.MetadataValueType;
import java.util.List;
import static java.util.Arrays.asList;
public class ContainerTitleCalculator implements MetadataValueCalculator<String> {
public LocalDependency<String> identifierParam = LocalDependency.toAString(ContainerRecord.IDENTIFIER);
public LocalDependency<String> temporaryIdentifierParam = LocalDependency.toAString(ContainerRecord.TEMPORARY_IDENTIFIER);
@Override
public String calculate(CalculatorParameters parameters) {
String identifier = parameters.get(identifierParam);
// if(identifier != null) {
// StringBuilder sb = new StringBuilder(identifier);
// while (sb.length() < 5) {
// sb.insert(0,'0');
// }
// identifier = sb.toString();
// }
String temporaryIdentifier = parameters.get(temporaryIdentifierParam);
return identifier != null ? identifier : temporaryIdentifier;
}
@Override
public String getDefaultValue() {
return null;
}
@Override
public MetadataValueType getReturnType() {
return MetadataValueType.STRING;
}
@Override
public boolean isMultiValue() {
return false;
}
@Override
public List<? extends Dependency> getDependencies() {
return asList(identifierParam, temporaryIdentifierParam);
}
}