1 package net.jaekl.squelch.stmt;
3 import java.io.IOException;
4 import java.io.PrintWriter;
5 import java.sql.Connection;
6 import java.sql.SQLException;
7 import java.util.Locale;
9 import net.jaekl.squelch.db.DbDriver;
10 import net.jaekl.squelch.db.Setting;
12 public class PSet extends Stmt {
14 public boolean handles(String line) {
19 return line.toLowerCase(Locale.CANADA).startsWith("\\pset ");
23 public int exec(DbDriver driver, Connection conn, PrintWriter pw, String line)
24 throws IOException, SQLException
26 String trimmed = line.substring(5).trim();
28 int equPos = trimmed.indexOf('=');
31 return setValue(driver, pw, trimmed, equPos);
34 return displayValue(driver, pw, trimmed);
38 private int displayValue(DbDriver driver, PrintWriter pw, String trimmed)
40 Setting[] settings = driver.getSettings();
42 for (Setting setting : settings) {
43 String lcName = trimmed.toLowerCase(Locale.CANADA);
45 if ("".equals(lcName) || setting.getName().equals(lcName)) {
47 pw.println(setting.getName() + ": " + (setting.getBoolean()));
54 private int setValue(DbDriver driver, PrintWriter pw, String trimmed, int equPos)
56 String name = trimmed.substring(0, equPos).trim();
57 String value = trimmed.substring(equPos + 1).trim();
59 driver.set(name, value);