Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *  Copyright 2001-2006 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.goda.time.convert;
 
ReadablePartialConverter extracts partial fields and chronology from a ReadablePartial.

Author(s):
Stephen Colebourne
Since:
1.0
 
         implements PartialConverter {

    
Singleton instance.
 
     static final ReadablePartialConverter INSTANCE = new ReadablePartialConverter();

    
Restricted constructor.
 
     protected ReadablePartialConverter() {
         super();
     }
 
     //-----------------------------------------------------------------------
     
Gets the chronology, which is taken from the ReadablePartial.

Parameters:
object the ReadablePartial to convert, must not be null
zone the specified zone to use, null means default zone
Returns:
the chronology, never null
 
     public Chronology getChronology(Object objectDateTimeZone zone) {
         return getChronology(object, (Chronologynull).withZone(zone);
     }

    
Gets the chronology, which is taken from the ReadableInstant.

If the passed in chronology is non-null, it is used. Otherwise the chronology from the instant is used.

Parameters:
object the ReadablePartial to convert, must not be null
chrono the chronology to use, null means use that from object
Returns:
the chronology, never null
 
     public Chronology getChronology(Object objectChronology chrono) {
         if (chrono == null) {
             chrono = ((ReadablePartialobject).getChronology();
             chrono = DateTimeUtils.getChronology(chrono);
         }
         return chrono;
     }

    
Extracts the values of the partial from an object of this converter's type. The chrono parameter is a hint to the converter, should it require a chronology to aid in conversion.

Parameters:
fieldSource a partial that provides access to the fields. This partial may be incomplete and only getFieldType(int) should be used
object the object to convert
chrono the chronology to use, which is the non-null result of getChronology()
Returns:
the array of field values that match the fieldSource, must be non-null valid
Throws:
java.lang.ClassCastException if the object is invalid
 
     public int[] getPartialValues(ReadablePartial fieldSourceObject objectChronology chrono) {
         ReadablePartial input = (ReadablePartialobject;
         int size = fieldSource.size();
         int[] values = new int[size];
         for (int i = 0; i < sizei++) {
             values[i] = input.get(fieldSource.getFieldType(i));
         }
         chrono.validate(fieldSourcevalues);
         return values;
     }
 
     //-----------------------------------------------------------------------
     
Returns ReadableInstant.class.

Returns:
ReadableInstant.class
    public Class getSupportedType() {
        return ReadablePartial.class;
    }
New to GrepCode? Check out our FAQ X