public static ScheduleInterface createScheduleFromConventions(
			LocalDate referenceDate,
			int spotOffsetDays,
			String startOffsetString,
			String maturityString,
			String frequency,
			String daycountConvention,
			String shortPeriodConvention,
			String dateRollConvention,
			BusinessdayCalendarInterface businessdayCalendar,
			int	fixingOffsetDays,
			int	paymentOffsetDays,
			boolean isUseEndOfMonth
			)
	{
		LocalDate spotDate = businessdayCalendar.getRolledDate(referenceDate, spotOffsetDays);
		LocalDate startDate = businessdayCalendar.createDateFromDateAndOffsetCode(spotDate, startOffsetString);
		LocalDate maturityDate = businessdayCalendar.createDateFromDateAndOffsetCode(startDate, maturityString);

		return createScheduleFromConventions(
				referenceDate,
				startDate,
				maturityDate,
				Frequency.valueOf(frequency.replace("/", "_").toUpperCase()),
				DaycountConvention.getEnum(daycountConvention),
				ShortPeriodConvention.valueOf(shortPeriodConvention.replace("/", "_").toUpperCase()),
				DateRollConvention.getEnum(dateRollConvention),
				businessdayCalendar,
				fixingOffsetDays,
				paymentOffsetDays,
				isUseEndOfMonth
				);
	}
public static ScheduleInterface createScheduleFromConventions ( LocalDate referenceDate , int spotOffsetDays , String startOffsetString , String maturityString , String frequency , String daycountConvention , String shortPeriodConvention , String dateRollConvention , BusinessdayCalendarInterface businessdayCalendar , int fixingOffsetDays , int paymentOffsetDays , boolean isUseEndOfMonth ) { LocalDate spotDate = businessdayCalendar . getRolledDate ( referenceDate , spotOffsetDays ) ; LocalDate startDate = businessdayCalendar . createDateFromDateAndOffsetCode ( spotDate , startOffsetString ) ; LocalDate maturityDate = businessdayCalendar . createDateFromDateAndOffsetCode ( startDate , maturityString ) ; return createScheduleFromConventions ( referenceDate , startDate , maturityDate , Frequency . valueOf ( frequency . replace ( "/" , "_" ) . toUpperCase ( ) ) , DaycountConvention . getEnum ( daycountConvention ) , ShortPeriodConvention . valueOf ( shortPeriodConvention . replace ( "/" , "_" ) . toUpperCase ( ) ) , DateRollConvention . getEnum ( dateRollConvention ) , businessdayCalendar , fixingOffsetDays , paymentOffsetDays , isUseEndOfMonth ) ; }
Simple schedule generation where startDate and maturityDate are calculated based on referenceDate, spotOffsetDays, startOffsetString and maturityString.

The schedule generation considers short periods. Date rolling is ignored.

@param referenceDate The date which is used in the schedule to internally convert dates to doubles, i.e., the date where t=0.
@param spotOffsetDays Number of business days to be added to the reference date to obtain the spot date.
@param startOffsetString The start date as an offset from the spotDate (build from tradeDate and spotOffsetDays) entered as a code like 1D, 1W, 1M, 2M, 3M, 1Y, etc.
@param maturityString The end date of the last period entered as a code like 1D, 1W, 1M, 2M, 3M, 1Y, etc.
@param frequency The frequency (as String).
@param daycountConvention The daycount convention (as String).
@param shortPeriodConvention If short period exists, have it first or last (as String).
@param dateRollConvention Adjustment to be applied to the all dates (as String).
@param businessdayCalendar Business day calendar (holiday calendar) to be used for date roll adjustment.
@param fixingOffsetDays Number of business days to be added to period start to get the fixing date.
@param paymentOffsetDays Number of business days to be added to period end to get the payment date.
@param isUseEndOfMonth If ShortPeriodConvention is LAST and startDate is an end of month date, all period will be adjusted to EOM. If ShortPeriodConvention is FIRST and maturityDate is an end of month date, all period will be adjusted to EOM.
@return The corresponding schedule