code: public void setQuery(String query) {
  
          // for use with widgets the exception is thrown here to enforce the error message next to the widget
          if (query.trim().length() < getQueryLength()) {
              throw new CmsIllegalArgumentException(
                  Messages.get().container(Messages.ERR_QUERY_TOO_SHORT_1, new Integer(getQueryLength())));
          }
          m_query = query;
      }
docs: Sets the query to search for. <p>
  
  The decoding here is tailored for query strings that are
  additionally manually UTF-8 encoded at client side (javascript) to get around an
  issue with special chars in applications that use non- UTF-8 encoding
  (e.g. ISO-8859-1) OpenCms applications. It is not recommended to use this with
  front ends that don't encode manually as characters like sole "%" (without number suffix)
  will cause an Exception.<p>
  
  @param query the query to search for to set