コード例 #1
0
 /**
  * 祝祭日であるかを返します。
  *
  * @param x 日付
  * @return 祝祭日であるか
  */
 public static boolean isHolyday(Date x) {
   try {
     return !VRDateParser.getHolydays(x).isEmpty();
   } catch (Exception ex) {
     return false;
   }
 }
コード例 #2
0
  /**
   * データ受信。
   *
   * <p>指定された項目全てを受信します。 受信した値はアプリケーション側でキャストして下さい。
   *
   * <p>
   *
   * @param name データを取得する項目名
   * @return 名前と値のペア(型情報は含まれない)
   * @throws IOException 入出力エラーが発生した場合
   * @throws Exception 何らかの例外が発生した場合
   */
  protected HashMap getValues(String[] name) throws IOException, Exception {
    HashMap rec = new HashMap();
    String line;

    try {
      if (name != null) {
        for (int i = 0; i < name.length; i++) {
          if (name[i] == null || name[i].length() == 0) continue;

          sendMessage(name[i] + LINE_CR);

          while ((line = dbsIn.readLine()) != null) {

            if (line.equals(END_OF_DATA)) break;

            StringTokenizer st = new StringTokenizer(line, ";", false);

            String fieldName = ((String) st.nextElement());
            // String valueField = decode((String)
            // st.nextElement());
            String valueField = (String) st.nextElement();

            int pos1 = valueField.indexOf(": ");

            if (pos1 >= 0) {
              String dbstype = valueField.substring(0, pos1).trim().toUpperCase();
              String value = urlDecode(valueField.substring(pos1 + 2));
              if (value == null) {
                rec.put(fieldName, null);
              } else if (dbstype.indexOf("NUMBER") >= 0) {
                rec.put(fieldName, Long.valueOf(value));
              } else if (dbstype.indexOf("INTEGER") >= 0) {
                rec.put(fieldName, Integer.valueOf(value));
              } else if ((dbstype.indexOf("DATE") >= 0) || ((dbstype.indexOf("TIMESTAMP") >= 0))) {
                rec.put(fieldName, VRDateParser.parse(value));
              } else {
                rec.put(fieldName, value);
              }
            } else {
              rec.put(fieldName, urlDecode(valueField));
            }
          }
        }
      }
    } catch (IOException e) {
      throw e;
    } catch (Exception e) {
      throw new Exception(e);
    }
    return rec;
  }
コード例 #3
0
 /**
  * 祝祭日名を返します。
  *
  * @param x 日付
  * @return 祝祭日名
  */
 public static String getHolydayNames(Date x) {
   try {
     Iterator it = VRDateParser.getHolydays(x).iterator();
     if (it.hasNext()) {
       StringBuilder sb = new StringBuilder();
       VRDateParserHolyday h = (VRDateParserHolyday) it.next();
       sb.append(h.getId());
       while (it.hasNext()) {
         h = (VRDateParserHolyday) it.next();
         sb.append(", ");
         sb.append(h.getId());
       }
       return sb.toString();
     }
   } catch (Exception ex) {
   }
   return "";
 }
コード例 #4
0
 /**
  * 保存するPDFファイル名を返します。
  *
  * @return PDFファイル名
  * @throws Exception
  */
 protected String createPDFFileName() throws Exception {
   Calendar cal = Calendar.getInstance();
   return VRDateParser.format(cal.getTime(), "yyyyMMddHHmmss") + ".pdf";
 }
コード例 #5
0
 /**
  * 和暦年を返します。
  *
  * @param x 日付
  * @throws Exception 処理例外
  * @return 和暦年
  */
 public static int getEraYear(Date x) throws Exception {
   return Integer.parseInt(VRDateParser.format(x, "e"));
 }
コード例 #6
0
 /**
  * 省略表記の元号を返します。
  *
  * <p>"平"や"昭"などです。
  *
  * @param x 日付
  * @throws Exception 処理例外
  * @return 省略表記の元号
  */
 public static String getEraShort(Date x) throws Exception {
   return VRDateParser.getEra(x).getAbbreviation(2);
 }
コード例 #7
0
 /**
  * アルファベット省略表記の元号を返します。
  *
  * <p>"H"や"S"などです。
  *
  * @param x 日付
  * @throws Exception 処理例外
  * @return アルファベット省略表記の元号
  */
 public static String getEraAlphabet(Date x) throws Exception {
   return VRDateParser.getEra(x).getAbbreviation(1);
 }