Coverage Report - net.objectlab.kit.datecalc.joda.YearMonthDayIMMDateCalculator
 
Classes in this File Line Coverage Branch Coverage Complexity
YearMonthDayIMMDateCalculator
100%
9/9
100%
2/2
1.25
 
 1  
 /*
 2  
  * ObjectLab, http://www.objectlab.co.uk/open is sponsoring the ObjectLab Kit.
 3  
  * 
 4  
  * Based in London, we are world leaders in the design and development 
 5  
  * of bespoke applications for the securities financing markets.
 6  
  * 
 7  
  * <a href="http://www.objectlab.co.uk/open">Click here to learn more</a>
 8  
  *           ___  _     _           _   _          _
 9  
  *          / _ \| |__ (_) ___  ___| |_| |    __ _| |__
 10  
  *         | | | | '_ \| |/ _ \/ __| __| |   / _` | '_ \
 11  
  *         | |_| | |_) | |  __/ (__| |_| |__| (_| | |_) |
 12  
  *          \___/|_.__// |\___|\___|\__|_____\__,_|_.__/
 13  
  *                   |__/
 14  
  *
 15  
  *                     www.ObjectLab.co.uk
 16  
  *
 17  
  * $Id: YearMonthDayIMMDateCalculator.java 203 2006-10-11 12:53:07Z benoitx $
 18  
  * 
 19  
  * Copyright 2006 the original author or authors.
 20  
  *
 21  
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 22  
  * use this file except in compliance with the License. You may obtain a copy of
 23  
  * the License at
 24  
  *
 25  
  * http://www.apache.org/licenses/LICENSE-2.0
 26  
  *
 27  
  * Unless required by applicable law or agreed to in writing, software
 28  
  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 29  
  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 30  
  * License for the specific language governing permissions and limitations under
 31  
  * the License.
 32  
  */
 33  
 package net.objectlab.kit.datecalc.joda;
 34  
 
 35  
 import java.util.ArrayList;
 36  
 import java.util.List;
 37  
 
 38  
 import net.objectlab.kit.datecalc.common.AbstractIMMDateCalculator;
 39  
 import net.objectlab.kit.datecalc.common.IMMPeriod;
 40  
 
 41  
 import org.joda.time.LocalDate;
 42  
 import org.joda.time.YearMonthDay;
 43  
 
 44  
 /**
 45  
  * Joda <code>YearMonthDay</code> based implementation of the
 46  
  * {@link net.objectlab.kit.datecalc.common.IMMDateCalculator}
 47  
  * 
 48  
  * @author Benoit Xhenseval
 49  
  * @author $LastChangedBy: benoitx $
 50  
  * @version $Revision: 203 $ $Date: 2006-10-11 08:53:07 -0400 (Wed, 11 Oct 2006) $
 51  
  * 
 52  
  */
 53  82
 public class YearMonthDayIMMDateCalculator extends AbstractIMMDateCalculator<YearMonthDay> {
 54  
 
 55  1
     private static final LocalDateIMMDateCalculator DELEGATE = new LocalDateIMMDateCalculator();
 56  
 
 57  
     public boolean isIMMDate(final YearMonthDay date) {
 58  13
         return DELEGATE.isIMMDate(date.toLocalDate());
 59  
     }
 60  
 
 61  
     @Override
 62  
     protected YearMonthDay getNextIMMDate(final boolean requestNextIMM, final YearMonthDay theStartDate, final IMMPeriod period) {
 63  64
         return new YearMonthDay(DELEGATE.getNextIMMDate(requestNextIMM, theStartDate.toLocalDate(), period));
 64  
     }
 65  
 
 66  
     // -----------------------------------------------------------------------
 67  
     //
 68  
     //    ObjectLab, world leaders in the design and development of bespoke 
 69  
     //          applications for the securities financing markets.
 70  
     //                         www.ObjectLab.co.uk
 71  
     //
 72  
     // -----------------------------------------------------------------------
 73  
 
 74  
    public List<YearMonthDay> getIMMDates(final YearMonthDay start, final YearMonthDay end, final IMMPeriod period) {
 75  4
         return buildList(DELEGATE.getIMMDates(start.toLocalDate(), end.toLocalDate(), period));
 76  
     }
 77  
 
 78  
     private List<YearMonthDay> buildList(final List<LocalDate> dates) {
 79  4
         final List<YearMonthDay> imms = new ArrayList<YearMonthDay>();
 80  4
         for (final LocalDate date : dates) {
 81  6
             imms.add(new YearMonthDay(date));
 82  
         }
 83  4
         return imms;
 84  
     }
 85  
 }
 86  
 
 87  
 /*
 88  
  * ObjectLab, http://www.objectlab.co.uk/open is sponsoring the ObjectLab Kit.
 89  
  * 
 90  
  * Based in London, we are world leaders in the design and development 
 91  
  * of bespoke applications for the securities financing markets.
 92  
  * 
 93  
  * <a href="http://www.objectlab.co.uk/open">Click here to learn more about us</a>
 94  
  *           ___  _     _           _   _          _
 95  
  *          / _ \| |__ (_) ___  ___| |_| |    __ _| |__
 96  
  *         | | | | '_ \| |/ _ \/ __| __| |   / _` | '_ \
 97  
  *         | |_| | |_) | |  __/ (__| |_| |__| (_| | |_) |
 98  
  *          \___/|_.__// |\___|\___|\__|_____\__,_|_.__/
 99  
  *                   |__/
 100  
  *
 101  
  *                     www.ObjectLab.co.uk
 102  
  */