Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *  Copyright 2001-2005 Stephen Colebourne
   *
   *  Licensed under the Apache License, Version 2.0 (the "License");
   *  you may not use this file except in compliance with the License.
   *  You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  *  Unless required by applicable law or agreed to in writing, software
  *  distributed under the License is distributed on an "AS IS" BASIS,
  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
 package org.joda.time.field;
 
Scales a DurationField such that it's unit millis becomes larger in magnitude.

ScaledDurationField is thread-safe and immutable.

Author(s):
Brian S O'Neill
Since:
1.0
See also:
PreciseDurationField
 
 public class ScaledDurationField extends DecoratedDurationField {
 
     private static final long serialVersionUID = -3205227092378684157L;
 
     private final int iScalar;

    
Constructor

Parameters:
field the field to wrap, like "year()".
type the type this field will actually use
scalar scalar, such as 100 years in a century
Throws:
java.lang.IllegalArgumentException if scalar is zero or one.
 
     public ScaledDurationField(DurationField fieldDurationFieldType typeint scalar) {
         super(fieldtype);
         if (scalar == 0 || scalar == 1) {
             throw new IllegalArgumentException("The scalar must not be 0 or 1");
         }
          = scalar;
     }
 
     public int getValue(long duration) {
         return getWrappedField().getValue(duration) / ;
     }
 
     public long getValueAsLong(long duration) {
         return getWrappedField().getValueAsLong(duration) / ;
     }
 
     public int getValue(long durationlong instant) {
         return getWrappedField().getValue(durationinstant) / ;
     }
 
     public long getValueAsLong(long durationlong instant) {
         return getWrappedField().getValueAsLong(durationinstant) / ;
     }
 
     public long getMillis(int value) {
         long scaled = ((longvalue) * ((long);
         return getWrappedField().getMillis(scaled);
     }
 
     public long getMillis(long value) {
         long scaled = FieldUtils.safeMultiply(value);
         return getWrappedField().getMillis(scaled);
     }
 
     public long getMillis(int valuelong instant) {
         long scaled = ((longvalue) * ((long);
         return getWrappedField().getMillis(scaledinstant);
     }
 
     public long getMillis(long valuelong instant) {
         long scaled = FieldUtils.safeMultiply(value);
         return getWrappedField().getMillis(scaledinstant);
     }
 
     public long add(long instantint value) {
         long scaled = ((longvalue) * ((long);
         return getWrappedField().add(instantscaled);
     }
 
     public long add(long instantlong value) {
         long scaled = FieldUtils.safeMultiply(value);
         return getWrappedField().add(instantscaled);
     }
 
    public int getDifference(long minuendInstantlong subtrahendInstant) {
        return getWrappedField().getDifference(minuendInstantsubtrahendInstant) / ;
    }
    public long getDifferenceAsLong(long minuendInstantlong subtrahendInstant) {
        return getWrappedField().getDifferenceAsLong(minuendInstantsubtrahendInstant) / ;
    }
    public long getUnitMillis() {
        return getWrappedField().getUnitMillis() * ;
    }
    //-----------------------------------------------------------------------
    
Returns the scalar applied, in the field's units.

Returns:
the scalar
    public int getScalar() {
        return ;
    }

    
Compares this duration field to another. Two fields are equal if of the same type and duration.

Parameters:
obj the object to compare to
Returns:
if equal
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        } else if (obj instanceof ScaledDurationField) {
            ScaledDurationField other = (ScaledDurationFieldobj;
            return (getWrappedField().equals(other.getWrappedField())) &&
                   (getType() == other.getType()) &&
                   ( == other.iScalar);
        }
        return false;
    }

    
Gets a hash code for this instance.

Returns:
a suitable hashcode
    public int hashCode() {
        long scalar = ;
        int hash = (int) (scalar ^ (scalar >>> 32));
        hash += getType().hashCode();
        hash += getWrappedField().hashCode();
        return hash;
    }
New to GrepCode? Check out our FAQ X