⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utilstring.java

📁 TinySQL是一个轻量级的纯java数据库引擎
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
   }
/*
 * Check to see if the input string is an integer.
 */
   public static boolean isInteger(String inputString)
   {
      int testInt;
      try
      {
         testInt = Integer.parseInt(inputString);
         return true;
      } catch (Exception e) {
         return false;
      }
   }
/*
 * Convert a string to an int or return a default value.
 */
   public static int intValue(String inputString,int defaultValue )
   {
      try
      {
         return Integer.parseInt(inputString);
      } catch (Exception e) {
         return defaultValue;
      }
   }
/*
 * Convert a date in the format MM/DD/YYYY to YYYYMMDD
 */
   public static String toYMD(String inputDate)
   {
      String day,month;
      FieldTokenizer ft;
      String[] ftFields;
      ft = new FieldTokenizer(inputDate,'/',false);
      ftFields = ft.getFields();
      if ( ftFields.length == 1 )
      {
         return inputDate;
      } else if ( ftFields.length == 3 ) {
         month = ftFields[0];
         if ( month.length() == 1 ) month = "0" + month;
         day = ftFields[1];
         if ( day.length() == 1 ) day = "0" + day;
         return ftFields[2] + month + day;
      }
      return inputDate;
   }     
/*
 * This method formats an action Hashtable for display.
 */
   public static String actionToString(Hashtable displayAction)
   {
      StringBuffer displayBuffer = new StringBuffer();
      String displayType,tableName;
      tinySQLWhere displayWhere;
      tsColumn createColumn,displayColumn;
      boolean groupBy=false,orderBy=false;
      int i;
      Vector displayTables,displayColumns,columnDefs,displayValues,
      displayContext;
      Hashtable tables;
      displayType = (String)displayAction.get("TYPE");
      displayBuffer.append(displayType + " ");
      displayWhere = (tinySQLWhere)null;
      displayContext = (Vector)null;
      displayColumns = (Vector)null;
      if ( displayType.equals("SELECT") )
      {
         tables = (Hashtable)displayAction.get("TABLES");
         displayTables = (Vector)tables.get("TABLE_SELECT_ORDER");
         displayColumns = (Vector)displayAction.get("COLUMNS");
         displayWhere = (tinySQLWhere)displayAction.get("WHERE");
         for ( i = 0; i < displayColumns.size(); i++ )
         {
            displayColumn = (tsColumn)displayColumns.elementAt(i);
            if ( displayColumn.getContext("GROUP") )
            {
               groupBy = true;
               continue;
            } else if ( displayColumn.getContext("ORDER") ) {
               orderBy = true;
               continue;
            }
            if ( i > 0 ) displayBuffer.append(",");
            displayBuffer.append((String)displayColumn.name);
         }
         displayBuffer.append(" FROM " );
         for ( i = 0; i < displayTables.size(); i++ )
         {
            if ( i > 0 ) displayBuffer.append(",");
            displayBuffer.append((String)displayTables.elementAt(i));
         }
      } else if ( displayType.equals("DROP_TABLE") ) {
         tableName = (String)displayAction.get("TABLE");
         displayBuffer.append(tableName);
      } else if ( displayType.equals("CREATE_TABLE") ) {
         tableName = (String)displayAction.get("TABLE");
         displayBuffer.append(tableName + " (");
         columnDefs = (Vector)displayAction.get("COLUMN_DEF");
         for ( i = 0; i < columnDefs.size(); i++ )
         {
            if ( i > 0 ) displayBuffer.append(",");
            createColumn = (tsColumn)columnDefs.elementAt(i);
            displayBuffer.append(createColumn.name + " " + createColumn.type
            + "( " + createColumn.size + "," + createColumn.decimalPlaces
            + ")");
         }
         displayBuffer.append(")");
      } else if ( displayType.equals("INSERT") ) {
         tableName = (String)displayAction.get("TABLE");
         displayBuffer.append("INTO " + tableName + "(");
         displayColumns = (Vector)displayAction.get("COLUMNS");
         for ( i = 0; i < displayColumns.size(); i++ )
         {
            if ( i > 0 ) displayBuffer.append(",");
            displayBuffer.append((String)displayColumns.elementAt(i));
         }
         displayBuffer.append(") VALUES (");
         displayValues = (Vector)displayAction.get("VALUES");
         for ( i = 0; i < displayValues.size(); i++ )
         {
            if ( i > 0 ) displayBuffer.append(",");
            displayBuffer.append((String)displayValues.elementAt(i));
         }
         displayBuffer.append(")");
      } else if ( displayType.equals("UPDATE") ) {
         tableName = (String)displayAction.get("TABLE");
         displayBuffer.append(tableName + " SET ");
         displayColumns = (Vector)displayAction.get("COLUMNS");
         displayValues = (Vector)displayAction.get("VALUES");
         displayWhere = (tinySQLWhere)displayAction.get("WHERE");
         for ( i = 0; i < displayColumns.size(); i++ )
         {
            if ( i > 0 ) displayBuffer.append(",");
            displayBuffer.append((String)displayColumns.elementAt(i)
            + "=" + (String)displayValues.elementAt(i));
         }
      } else if ( displayType.equals("DELETE") ) {
         tableName = (String)displayAction.get("TABLE");
         displayBuffer.append(" FROM " + tableName);
         displayWhere = (tinySQLWhere)displayAction.get("WHERE");
      }
      if ( displayWhere != (tinySQLWhere)null )
      {
         displayBuffer.append(displayWhere.toString());
      }
      if ( groupBy ) 
      {
         displayBuffer.append(" GROUP BY ");
         for ( i = 0; i < displayColumns.size(); i++ )
         {
            displayColumn = (tsColumn)displayColumns.elementAt(i);
            if ( !displayColumn.getContext("GROUP") ) continue;
            if ( !displayBuffer.toString().endsWith(" GROUP BY ") )
               displayBuffer.append(",");
            displayBuffer.append(displayColumn.name);
         }
      }
      if ( orderBy ) 
      {
         displayBuffer.append(" ORDER BY ");
         for ( i = 0; i < displayColumns.size(); i++ )
         {
            displayColumn = (tsColumn)displayColumns.elementAt(i);
            if ( !displayColumn.getContext("ORDER") ) continue;
            if ( !displayBuffer.toString().endsWith(" ORDER BY ") )
               displayBuffer.append(",");
            displayBuffer.append(displayColumn.name);
         }
      }
      return displayBuffer.toString();
   }
/*
 * Find the input table alias in the list provided and return the table name.
 */
   public static String findTableForAlias(String inputAlias,Vector tableList)
                              throws tinySQLException
   {
      int i,aliasAt;
      String tableAndAlias;
      tableAndAlias = findTableAlias(inputAlias,tableList);
      aliasAt = tableAndAlias.indexOf("->");
      return tableAndAlias.substring(0,aliasAt);
   }
/*
 * Find the input table alias in the list provided and return the table name
 * and alias in the form tableName=tableAlias.
 */
   public static String findTableAlias(String inputAlias,Vector tableList)
                              throws tinySQLException
   {
      int i,aliasAt;
      String tableAndAlias,tableName,tableAlias;
      for ( i = 0; i < tableList.size(); i++ )
      {
         tableAndAlias = (String)tableList.elementAt(i);
         aliasAt = tableAndAlias.indexOf("->");
         tableName = tableAndAlias.substring(0,aliasAt);
         tableAlias = tableAndAlias.substring(aliasAt + 2);
         if ( inputAlias.equals(tableAlias) )
         {
            return tableAndAlias;
         }
      }
      throw new tinySQLException("Unable to identify table alias "
      + inputAlias);
   }
/*
 * Determine a type for the input string. 
 */
   public static int getValueType (String inputValue)
   {
      double doubleValue;
      long intValue;
      if ( inputValue.startsWith("\"") |
           inputValue.startsWith("'") )
         return Types.CHAR;
      try 
      {
/*
 *       If the parse methods don't generate an exception this is a 
 *       valid number
 */
         if ( inputValue.trim().indexOf(".") > -1 )
         {
            doubleValue = Double.parseDouble(inputValue.trim());
            return Types.FLOAT;
         } else {
            intValue = Long.parseLong(inputValue.trim());
            return Types.INTEGER;
         }
      } catch (Exception e) {
         return Types.CHAR;
      }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -