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

📄 relativedate.java

📁 一个完整的XACML工程,学习XACML技术的好例子!
💻 JAVA
字号:
/*
* Copyright (c) 2000-2005, University of Salford
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without 
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this 
* list of conditions and the following disclaimer.
* 
* Redistributions in binary form must reproduce the above copyright notice, 
* this list of conditions and the following disclaimer in the documentation 
* and/or other materials provided with the distribution. 
*
* Neither the name of the University of Salford nor the names of its 
* contributors may be used to endorse or promote products derived from this 
* software without specific prior written permission. 
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
* POSSIBILITY OF SUCH DAMAGE.
*/

package issrg.pba.rbac;

/**
 * This class is just a holder of relative year, month, day, etc integers. It is 
 * used as
 * a pack of integers for calculating relative validity periods.
 *
 * @author A.Otenko
 */

public class RelativeDate {

  public int years;
  public int months;
  public int days;
  public int hours;
  public int minutes;
  public int seconds;

  /**
   * This constructor builds the RelativeDate using the number of years, months
   * days, hours, minutes and seconds from now. The direction of increment (i.e.
   * should they be added or subtracted from now) depends on the context, e.g.
   * they are subtracted from now to compute Age, but added to compute min and
   * max life span.
   */
  public RelativeDate(int years, int months, int days, int hours, int minutes, int seconds) {
    this.years=years;
    this.months=months;
    this.days=days;
    this.hours=hours;
    this.minutes=minutes;
    this.seconds=seconds;
  }

  /**
   * This method returns the date as if it were counted from 0 AD.
   */
  public java.util.Date getDate(){
    java.util.Calendar c = new java.util.GregorianCalendar();
    c.set(c.ZONE_OFFSET, 0);
    c.set(c.DST_OFFSET, 0);

    c.set(years, months, days, hours, minutes, seconds);
    c.set(c.MILLISECOND, 0);

    return c.getTime();
  }

  public String toString(){
    return "relative date "
            +((years>=0)?"+":"")+years
            +((months>=0)?"+":"")+months
            +((days>=0)?"+":"")+days
            +" "+((hours>=0)?"+":"")+hours
            +((minutes>=0)?"+":"")+minutes
            +((seconds>=0)?"+":"")+seconds
    ;
  }
}

⌨️ 快捷键说明

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