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

📄 datadaterange.java

📁 一个用java写的地震分析软件(无源码)-used to write a seismic analysis software (without source)
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        sb.append(" ");
        sb.append(EpochTime.dateToString( ((DataDate) max).value, pattern));
        return sb.toString();
    }

/** Returns String concatenation of minimum and maximum bounds as
* GMT date values separated by " ".
*/
    public String toString() {
        return toDateString("yyyy/MM/dd:HH:mm:ss.SSS");
    }

/** Returns String concatenation of minimum and maximum dates as represented in database.
* Inserts "NULL" if value is equivalent to NULL or bound == null.
* These values are separated by ", ".
* @see org.trinet.jdbc.StringSQL#valueof(java.util.Date) 
*/
    public String toStringSQL() {
        StringBuffer sb = new StringBuffer(80);
        sb.append(StringSQL.valueOf(min));
        sb.append(", ");
        sb.append(StringSQL.valueOf(max));
        return sb.toString();
    }

/** Convenience wrapper System.out.println(toString()). */
    public void print() {
        System.out.println(toString());
    }

/** 
* Sets the minimum bound value for the range to the input value.
*/
    public void setMin(java.util.Date minDate) {
        if (max != null) {
             if (minDate.after( ((DataDate) max).value) )
                  throw new IllegalArgumentException("DateRange constructor min-max bounds reversed.");
        }
        min.setValue(minDate);
    }

/** 
* Sets the maximum bound value of the range to the input value.
*/
    public void setMax(java.util.Date maxDate) {
        if (min != null) {
             if (maxDate.before( ((DataDate) min).value))
                  throw new IllegalArgumentException("DateRange constructor min-max bounds reversed.");
        }
        max.setValue(maxDate);
    }

/** 
* Sets the minimum, maximum bounds of the range to the input values.
*/
    public void setLimits(java.util.Date minDate, java.util.Date maxDate) {
        if (minDate == null || maxDate == null) throw new NullPointerException("DateRange setLimits() null input parameter");
        if (maxDate.before(minDate))
            throw new IllegalArgumentException("DateRange setLimits() min-max bounds reversed." );
        min.setValue(minDate);
        max.setValue(maxDate);
    }

/** 
* Sets the range bounds to clones of the input range bounds.
*/
    public void setLimits(DataDateRange range) {
        setLimits((DataDate) range.min.clone(), (DataDate) range.max.clone());
    }

/**
* Sets the appropiate minimum or maximum bound to extend the range to include the input value.
* Does a no-op if contains(Date) == true.
*/
    public void include(java.util.Date date) {
        if (min == null || max == null)
             throw new NullPointerException("DateRange include(date) null min or max bound");

        if (date.before( ((DataDate) min).value) ) min.setValue(date);
        else if (date.after( ((DataDate) max).value) ) max.setValue(date);
    }

/**
* Sets the appropiate range bounds to include input range bounds.
* Clones the input bounds.
* Does a no-op if contains(DataDateRange) == true.
*/
    public void include(DataDateRange range) {
        if (min == null || max == null)
             throw new NullPointerException("DateRange include(range) null min or max bound");
 
        if (((DataDate) range.min).value.before( ((DataDate) min).value) ) min = (DataDate) range.min.clone();
        if (((DataDate) range.max).value.after( ((DataDate) max).value) ) max = (DataDate) range.max.clone();
    }

/**
* Returns true if bound values can be parsed from input StringTokenizer.
* Does not set value and returns false if tokenizer.countTokens() < 2 
* or java.util.Date cannot be parsed from tokens.
*/
    public boolean parseValue(StringTokenizer tokenizer) {
        if (tokenizer.countTokens() < 2) return false;
        java.util.Date minDate = EpochTime.stringToDate(tokenizer.nextToken(), dateFormat); 
        java.util.Date maxDate = EpochTime.stringToDate(tokenizer.nextToken(), dateFormat);
        if (minDate == null || maxDate == null) return false;
        setLimits(minDate, maxDate);
        return true;
    }

    public static void main(String [] args) {

         System.out.println("++++++++ BEGIN TEST ++++++++++");

         long ms = System.currentTimeMillis();
         Date now = new Date(ms);
      
         Date ontime = new Date(ms + 360000);
         Date later = new Date(ms + 3600000);
         Date laterstill = new Date(ms + 7200000);
         Date yesterday = new Date(ms - 86400000);
         Date tomorrow =  new Date(ms + 86400000);

         DataDateRange dr = new DataDateRange(now, later);
         DataDateRange dr2 = new DataDateRange(yesterday, tomorrow);

         dr.dump1(yesterday);
         dr.dump1(ontime); dr.dump1(later); dr.dump1(tomorrow);

         dr.dump2(dr2);

         System.out.println("Test dr.setLimits(ontime, laterstill)");
         dr.setLimits(ontime, laterstill);
         dr.dump2(dr2);

         System.out.println("Test dr.include(now)");
         dr.include(now);
         dr.dump2(dr2);

         System.out.println("Test dr.include(dr2)");
         dr.include(dr2);
         dr.dump2(dr2);

         System.out.println("Test dr.setMax(laterstill); dr2.setMin(laterstill)");
         dr.setMax(laterstill);
         dr2.setMin(laterstill);
         dr.dump2(dr2);

         System.out.println("Test dr.setMax(later); dr2.setMin(laterstill)");
         dr.setMax(later);
         dr2.setMin(laterstill);
         dr.dump2(dr2);

    }

    public void dump(DataDateRange dr2, DataDateRange dr3) {
         System.out.println("Test equalsRange: ");
         System.out.println("     dr2.toString(): " + dr2.toString());
         System.out.println("     dr3.toString(): " + dr3.toString());
         System.out.println("     dr2.equalsRange(dr3) : " +  dr2.equalsRange(dr3));
         System.out.println("------------------\n");
    }

     public void dump1(Date val) {
         System.out.println("Dump Range bounds: " + min.toString() + ", " + max.toString() + " size: " +
                             EpochTime.elapsedTimeToText(seconds()) );
         System.out.println(" Test input val: " + val);
         System.out.println(" after(val)    : " + after(val));
         System.out.println(" before(val)   : " + before(val));
         System.out.println(" excludes(val) : " + excludes(val));
         System.out.println(" contains(val) : " + contains(val));
         System.out.println("------------------\n");
    }

    public void dump2(DataDateRange dr2) {
         System.out.println("Dump Range bounds: " + min.toString() + ", " + max.toString() + " size: " +
                             EpochTime.elapsedTimeToText(seconds()) );
         System.out.println(" Test Range2 Min,max: " + dr2.min.toString() + ", " + dr2.max.toString() );

         System.out.println(" within(dr2)       : " + within(dr2));
         System.out.println(" dr2.within(this)  : " + dr2.within(this)); 

         System.out.println(" overlaps(dr2)     : " + overlaps(dr2));
         System.out.println(" dr2.overlaps(this): " + dr2.overlaps(this));

         System.out.println(" dr2.after(this)   : " + dr2.after(this));
         System.out.println(" after(dr2)        : " + after(dr2));

         System.out.println(" dr2.before(this)  : " + dr2.before(this));
         System.out.println(" before(dr2)       : " + before(dr2));

         System.out.println(" dr2.excludes(this): " + dr2.excludes(this));
         System.out.println(" excludes(dr2)     : " + excludes(dr2));

         System.out.println(" dr2.contains(this): " + dr2.contains(this));
         System.out.println(" contains(dr2)     : " + contains(dr2));
         System.out.println("------------------\n");

    }
}

⌨️ 快捷键说明

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