/* * libbrlapi - A library providing access to braille terminals for applications. * * Copyright (C) 2006-2021 by * Samuel Thibault * Sébastien Hinderer * * libbrlapi comes with ABSOLUTELY NO WARRANTY. * * This is free software, placed under the terms of the * GNU Lesser General Public License, as published by the Free Software * Foundation; either version 2.1 of the License, or (at your option) any * later version. Please see the file LICENSE-LGPL for details. * * Web Page: http://brltty.app/ * * This software is maintained by Dave Mielke . */ package org.a11y.brlapi.clients; import org.a11y.brlapi.*; public class SetParameterClient extends Client { public SetParameterClient (String... arguments) { super(arguments); addRequiredParameters("parameter", "value"); } private String parameterName = null; private String parameterValue = null; @Override protected void processParameters (String[] parameters) throws SyntaxException { int count = parameters.length; int index = 0; if (index == count) throw new SyntaxException("missing parameter name"); parameterName = parameters[index++]; if (index == count) throw new SyntaxException("missing larameter value"); parameterValue = parameters[index++]; if (index < count) throw new TooManyParametersException(parameters, index); } @Override protected final void runClient (Connection connection) throws OperandException { Parameter parameter = getParameter(connection, parameterName); parameter.set(parameterValue); } }