| /* |
| * libbrlapi - A library providing access to braille terminals for applications. |
| * |
| * Copyright (C) 2006-2023 by |
| * Samuel Thibault <Samuel.Thibault@ens-lyon.org> |
| * Sébastien Hinderer <Sebastien.Hinderer@ens-lyon.org> |
| * |
| * 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 <dave@mielke.cc>. |
| */ |
| |
| 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); |
| } |
| } |