Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.skife.config;
  
  
  public class TimeSpan
  {
      private final long period;
     private final TimeUnit unit;
     private final long millis;
 
     private static final Pattern SPLIT = Pattern.compile("^(\\d+)(\\w+)$");
 
     public TimeSpan(String spec)
     {
         Matcher m = .matcher(spec);
         if (!m.matches()) {
             throw new IllegalArgumentException(String.format("%s is not a valid time spec"spec));
         }
         String number = m.group(1);
         String type = m.group(2);
          = Long.parseLong(number);
         if ("m".equals(type)) {
              = .;
         }
         else if ("s".equals(type)) {
              = .;
         }
         else if ("ms".equals(type)) {
              = .;
         }
         else if ("h".equals(type)) {
              = .;
         }
         else if ("d".equals(type)) {
              = .;
         }
         else {
             throw new IllegalArgumentException(String.format("%s is not a valid time unit in %s"typespec));
         }
          = ..convert();
     }
 
     public TimeSpan(long periodTimeUnit unit)
     {
         this. = period;
         this. = unit;
         this. = ..convert(periodunit);
     }
 
     public long getMillis() {
         return ;
     }
 
     public long getPeriod()
     {
         return ;
     }
 
     public TimeUnit getUnit()
     {
         return ;
     }
 
     public String toString()
     {
         switch () {
             case :
                 return  + "s";
             case :
                 return  + "m";
             case :
                 return  + "h";
             case :
                 return  + "d";
             default:
                 return  + "ms";
         }
     }
 
     @Override
     public int hashCode()
     {
         return 31 + (int)( ^ ( >>> 32));
     }
 
     @Override
     public boolean equals(Object obj)
     {
         if (this == obj) {
             return true;
         }
         if (obj == null) {
             return false;
         }
         if (getClass() != obj.getClass()) {
             return false;
         }
        TimeSpan other = (TimeSpan)obj;
        return  == other.millis;
    }
New to GrepCode? Check out our FAQ X