/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.financial.security;
import org.apache.commons.lang.NotImplementedException;
import com.opengamma.analytics.financial.ExerciseDecisionType;
import com.opengamma.financial.security.option.AmericanExerciseType;
import com.opengamma.financial.security.option.AsianExerciseType;
import com.opengamma.financial.security.option.BermudanExerciseType;
import com.opengamma.financial.security.option.EuropeanExerciseType;
import com.opengamma.financial.security.option.ExerciseTypeVisitor;
/**
*
*/
public final class ExerciseTypeAnalyticsVisitorAdapter implements ExerciseTypeVisitor<ExerciseDecisionType> {
private static final ExerciseTypeAnalyticsVisitorAdapter s_instance = new ExerciseTypeAnalyticsVisitorAdapter();
public static ExerciseTypeAnalyticsVisitorAdapter getInstance() {
return s_instance;
}
/**
*
*/
private ExerciseTypeAnalyticsVisitorAdapter() {
}
@Override
public ExerciseDecisionType visitAmericanExerciseType(AmericanExerciseType exerciseType) {
return ExerciseDecisionType.AMERICAN;
}
@Override
public ExerciseDecisionType visitAsianExerciseType(AsianExerciseType exerciseType) {
throw new NotImplementedException();
}
@Override
public ExerciseDecisionType visitBermudanExerciseType(BermudanExerciseType exerciseType) {
throw new NotImplementedException();
}
@Override
public ExerciseDecisionType visitEuropeanExerciseType(EuropeanExerciseType exerciseType) {
return ExerciseDecisionType.EUROPEAN;
}
}