Set<String> propertyNamesSet()
    throws IllegalAccessException, InvocationTargetException {
    if (cachedPropertyNameSet == null){
      TreeSet<String> names = new TreeSet<String>();

      // get all the values from getXXX methods
      Method[] m = getClass().getDeclaredMethods();
      for (int i = 0; m != null && i < m.length; i++) {
        if (!(m[i].getName().startsWith("get"))) {
          continue;
        }
        if (m[i].getAnnotation(Ignore.class) != null){
          continue; // not actually a getter
        }
        if (m[i].getParameterTypes().length != 0) {
          continue;
        }
        String propName = m[i].getName().substring(3).toLowerCase();
        names.add(propName);
      }
      cachedPropertyNameSet = names;
    }
    return cachedPropertyNameSet;
  }
The save directory if HOME/.beeline/ on UNIX, and
HOME/beeline/ on Windows.
beeline/src/java/org/apache/hive/beeline/BeeLineOpts.java