Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.skife.config;
  
  
  public class DataAmount
  {
      private final long value;
      private final DataAmountUnit unit;
     private final long numBytes
     private static final Pattern SPLIT = Pattern.compile("^(\\d+)\\s*([a-zA-Z]+)$");
     private static final Pattern NUM_ONLY = Pattern.compile("^(\\d+)$");
 
     public DataAmount(String spec)
     {
         Matcher m = .matcher(spec);
         if (!m.matches()) {
             // #7: allow undecorated unit to mean basic bytes
             m = .matcher(spec);
             if (!m.matches()) {
                 throw new IllegalArgumentException(String.format("%s is not a valid data amount"spec));
             }
              = .;
              =  = Long.parseLong(spec);
         } else {
             String number = m.group(1);
             String type = m.group(2);
             this. = Long.parseLong(number);
             this. = DataAmountUnit.fromString(type);
             this. = .getFactor() * ;
         }
     }
 
     public DataAmount(long valueDataAmountUnit unit)
     {
         this. = value;
         this. = unit;
         this. = unit.getFactor() * value;
     }

    

Since:
0.15
 
     public DataAmount(long rawBytes)
     {
          =  = rawBytes;
          = .;
     }
     
     public long getValue()
     {
         return ;
     }
 
     public DataAmountUnit getUnit()
     {
         return ;
     }
 
     public long getNumberOfBytes()
     {
         return ;
     }
 
     public DataAmount convertTo(DataAmountUnit newUnit)
     {
         return new DataAmount( / newUnit.getFactor(), newUnit);
     }
 
     @Override
     public String toString()
     {
         return  + .getSymbol();
     }
 
     @Override
     public int hashCode()
     {
         final int prime = 31;
         int result = 1;
         result = prime * result + (int)( ^ ( >>> 32));
         result = prime * result + .hashCode();
         result = prime * result + (int)( ^ ( >>> 32));
         return result;
     }
 
     @Override
     public boolean equals(Object obj)
     {
         if (this == obj) {
             return true;
         }
         if (obj == null) {
             return false;
         }
         if (getClass() != obj.getClass()) {
             return false;
         }
         DataAmount other = (DataAmount)obj;
        return  == other.numBytes;
    }
New to GrepCode? Check out our FAQ X