package org.ovirt.engine.core.bll; import org.ovirt.engine.core.common.errors.EngineMessage; import org.ovirt.engine.core.utils.ReplacementUtils; /** * It allows to create message string with variable replacements in format * "engineMessage$var1Name var1Value$var2Name var2Value". * * @see CommandBase#extractVariableDeclarations */ public class LockMessage { private final StringBuilder messageBuilder = new StringBuilder(); public LockMessage(EngineMessage message) { messageBuilder.append(message.name()); } /** * It adds variable replacement. * @param variableName variable name * @param variableValue variable value * @return fluent this */ public LockMessage with(String variableName, String variableValue) { messageBuilder.append(ReplacementUtils.createSetVariableString(variableName, variableValue)); return this; } /** * It adds variable replacement if {@code variableValue} is not {@code null}. * @param variableName variable name * @param variableValue variable value * @return fluent this */ public LockMessage withOptional(String variableName, String variableValue) { if (variableValue != null) { with(variableName, variableValue); } return this; } @Override public String toString() { return messageBuilder.toString(); } }