/*******************************************************************************
 * Copyright © 2004 VHA. All rights reserved
 ******************************************************************************/
// Package
package gov.va.med.esr.common.rule.service.impl;

// Java classes

// Library classes

// Framework classes
import gov.va.med.fw.model.lookup.AbstractCode;

// ESR classes

/**
 * Project: Common</br> Created on: 5:14:02 PM </br>
 *
 * @author DNS   LEV
 */
public class RuleValidationMessage {

    public static final Message MT_TOTAL_TOTAL_INCOME_PRESENT_BUT_VETERAN_INCOME_INFORMATION_MISSING =
        new Message("MT_TOTAL_TOTAL_INCOME_PRESENT_BUT_VETERAN_INCOME_INFORMATION_MISSING");

	public static final Message INSURANCE_COMPANY_ADDRESS_INCOMPLETE =
		new Message("INSURANCE_COMPANY_ADDRESS_INCOMPLETE");

	public static final Message INVALID_INSURANCE_EFFECTIVE_DATE_DOB_CHECK =
		new Message("INVALID_INSURANCE_EFFECTIVE_DATE_DOB_CHECK");

	public static final Message INVALID_INSURANCE_EFFECTIVE_DATE_DOD_CHECK =
		new Message("INVALID_INSURANCE_EFFECTIVE_DATE_DOD_CHECK");

	public static final Message MEDICARE_PARTA_EFFCTIVE_DATE_REQUIRED_CHECK =
		new Message("MEDICARE_PARTA_EFFCTIVE_DATE_REQUIRED_CHECK");

	public static final Message INVALID_EXPIRATION_DATE_BEFORE_OR_EQUAL_EFFECTIVE_DATE =
		new Message("INVALID_EXPIRATION_DATE_BEFORE_OR_EQUAL_EFFECTIVE_DATE");

	public static final Message ENROLLED_IN_PARTB_REQUIRES_PARTA =
		new Message("ENROLLED_IN_PARTB_REQUIRES_PARTA");

	public static final Message	ASSOCIATION_TYPE_REQUIRED =
		new Message("ASSOCIATION_TYPE_REQUIRED");

	public static final Message ASSOCIATION_NAME_REQUIRED =
		new Message("ASSOCIATION_NAME_REQUIRED");

	public static final Message ORGANIZATION_NAME_NOT_ALLOWED =
		new Message("ORGANIZATION_NAME_NOT_ALLOWED");

	public static final Message INVALID_DIAGNOSIS_TYPE =
		new Message("INVALID_DIAGNOSIS_TYPE");

	public static final Message PRECISE_DATE_OF_DECISION =
		new Message("PRECISE_DATE_OF_DECISION");

	public static final Message SCORE_REQUIRED =
		new Message("SCORE_REQUIRED");

	public static final Message MST_STATUS_REQUIRED =
		new Message("MST_STATUS_REQUIRED");

	public static final Message PRECISE_VERIFICATION_DATE =
		new Message("PRECISE_VERIFICATION_DATE");

	public static final Message MSE_REQUIRED_FOR_CONFLICT_ENTRY =
		new Message("MSE_REQUIRED_FOR_CONFLICT_ENTRY");

	public static final Message CONFLICT_FROM_DATE_NOT_PRECISE =
		new Message("CONFLICT_FROM_DATE_NOT_PRECISE");

	public static final Message CONFLICT_EXPERIENCE_NOT_FOR_ONE_MSE =
		new Message("CONFLICT_EXPERIENCE_NOT_FOR_ONE_MSE");

	public static final Message INVALID_CONFLICT_FROM_DATE_AFTER_DOD =
		new Message("INVALID_CONFLICT_FROM_DATE_AFTER_DOD");

	public static final Message INVALID_FUTURE_CONFLICT_FROM_DATE =
		new Message("INVALID_FUTURE_CONFLICT_FROM_DATE");

	public static final Message CONFLICT_TO_DATE_NOT_PRECISE =
		new Message("CONFLICT_TO_DATE_NOT_PRECISE");

	public static final Message INVALID_CONFLICT_TO_DATE_AFTER_OFFICIAL_END_DATE =
		new Message("INVALID_CONFLICT_TO_DATE_AFTER_OFFICIAL_END_DATE");

	public static final Message INVALID_CONFLICT_TO_DATE_BEFORE_FROM_DATE  =
		new Message("INVALID_CONFLICT_TO_DATE_BEFORE_FROM_DATE");

	public static final Message INVALID_CONFLICT_TO_DATE_AFTER_DOD =
		new Message("INVALID_CONFLICT_TO_DATE_AFTER_DOD");

	public static final Message INVALID_FUTURE_CONFLICT_TO_DATE =
		new Message("INVALID_FUTURE_CONFLICT_TO_DATE");

	public static final Message INVALID_CONFLICT_EXPERIENCES_CANNOT_OVERLAP =
		new Message("INVALID_CONFLICT_EXPERIENCES_CANNOT_OVERLAP");

	public static final Message INVALID_CONFLICT_FROM_DATE_BEFORE_OFFICIAL_START_DATE =
		new Message("INVALID_CONFLICT_FROM_DATE_BEFORE_OFFICIAL_START_DATE");

	public static final Message INVALID_FUTURE_PREF_LANG_ENTRY_DATE =
	        new Message("INVALID_FUTURE_PREF_LANG_ENTRY_DATE");

	   public static final Message INVALID_PREF_LANG_ENTRY_DATE_BEFORE_DOB =
	            new Message("INVALID_PREF_LANG_ENTRY_DATE_BEFORE_DOB");

	public static final Message INVALID_DOB_AFTER_DOD =
		new Message("INVALID_DOB_AFTER_DOD");

	public static final Message INVALID_FUTURE_DOB =
		new Message("INVALID_FUTURE_DOB");

	public static final Message INVALID_FUTURE_DOD =
		new Message("INVALID_FUTURE_DOD");

	public static final Message INVALID_DOD_AFTER_REPORTED_DOD =
		new Message("INVALID_DOD_AFTER_REPORTED_DOD");

	public static final Message INVALID_DOB_AFTER_MARRIAGE_DATE =
		new Message("INVALID_DOB_AFTER_MARRIAGE_DATE");

	public static final Message INVALID_MARRIAGE_DATE =
		new Message("INVALID_MARRIAGE_DATE");

	public static final Message INVALID_DEPENDENT_DOB_AFTER_EFFECTIVE_DATE =
		new Message("INVALID_DEPENDENT_DOB_AFTER_EFFECTIVE_DATE");

	public static final Message INVALID_SSN =
		new Message("INVALID_SSN");

	public static final Message INVALID_SSN_GREATER_THAN_728999999 =
		new Message("INVALID_SSN_GREATER_THAN_728999999");

	public static final Message INVALID_LAST_FOUR_0000_SSN =
		new Message("INVALID_LAST_FOUR_0000_SSN");

	public static final Message INVALID_FIRST_THREE_000_SSN =
		new Message("INVALID_FIRST_THREE_000_SSN");

	public static final Message SSN_REQUIRED =
		new Message("SSN_REQUIRED");

	public static final Message LAST_NAME_REQUIRED =
		new Message("LAST_NAME_REQUIRED");

	public static final Message INVALID_GENDER =
		new Message("INVALID_GENDER");

	public static final Message DOB_REQUIRED =
		new Message("DOB_REQUIRED");

	public static final Message GENDER_REQUIRED =
		new Message("GENDER_REQUIRED");

	public static final Message PREFERRED_FACILITY_REQUIRED =
		new Message("PREFERRED_FACILITY_REQUIRED");

	public static final Message INVALID_FUTURE_EFFECTIVE_DATE =
		new Message("INVALID_FUTURE_EFFECTIVE_DATE");

	public static final Message INVALID_DEPEDENT_SSN_SAME_AS_VETERAN =
		new Message("INVALID_DEPEDENT_SSN_SAME_AS_VETERAN");

	public static final Message EFFECTIVE_DATE_REQUIRED =
		new Message("EFFECTIVE_DATE_REQUIRED");

	public static final Message INVALID_PRECISE_EFFECTIVE_DATE =
		new Message("INVALID_PRECISE_EFFECTIVE_DATE");

	public static final Message INVALID_FUTURE_APPLICATION_DATE =
		new Message("INVALID_FUTURE_APPLICATION_DATE");

	public static final Message INVALID_PRECISE_ENROLLMENT_DATE =
		new Message("INVALID_PRECISE_ENROLLMENT_DATE");

	public static final Message INVALID_FUTURE_ENROLLMENT_DATE =
		new Message("INVALID_FUTURE_ENROLLMENT_DATE");

	public static final Message DOD_REQUIRED =
		new Message("DOD_REQUIRED");

	public static final Message INELIGIBLE_DATE_REASON_FOR_INELIGIBILITY_REQUIRED =
		new Message("INELIGIBLE_DATE_REASON_FOR_INELIGIBILITY_REQUIRED");

	public static final Message INVALID_CURRENT_MSE_OVERLAPS_MSE =
		new Message("INVALID_CURRENT_MSE_OVERLAPS_MSE");

	public static final Message SERVICE_ENTRY_DATE_REQUIRED =
		new Message("SERVICE_ENTRY_DATE_REQUIRED");

	public static final Message SERVICE_SEPARATION_DATE_REQUIRED =
		new Message("SERVICE_SEPARATION_DATE_REQUIRED");

	public static final Message BRANCH_OF_SERVICE_REQUIRED =
		new Message("BRANCH_OF_SERVICE_REQUIRED");

	public static final Message SERVICE_DISCHARGE_TYPE_REQUIRED =
		new Message("SERVICE_DISCHARGE_TYPE_REQUIRED");

	public static final Message INVALID_SERVICE_ENTRY_DATE_MUST_BE_PRECISE =
		new Message("INVALID_SERVICE_ENTRY_DATE_MUST_BE_PRECISE");

	public static final Message INVALID_SERVICE_SEPARATION_DATE_MUST_BE_PRECISE =
		new Message("INVALID_SERVICE_SEPARATION_DATE_MUST_BE_PRECISE");

	public static final Message INVALID_SERVICE_ENTRY_DATE_LESS_THAN_15TH_BIRTHDAY =
		new Message("INVALID_SERVICE_ENTRY_DATE_LESS_THAN_15TH_BIRTHDAY");

	public static final Message INVALD_SERVICE_ENTRY_DATE_AFTER_SEPARATION_DATE =
		new Message("INVALD_SERVICE_ENTRY_DATE_AFTER_SEPARATION_DATE");

	public static final Message INVALID_SERVICE_ENTRY_DATE_ON_AFTER_DOD =
		new Message("INVALID_SERVICE_ENTRY_DATE_ON_AFTER_DOD");

	public static final Message INVALID_FUTURE_SERVICE_ENTRY_DATE =
		new Message("INVALID_FUTURE_SERVICE_ENTRY_DATE");

	public static final Message INVALID_SERVICE_SEPARATION_DATE_AFTER_ON_DOD =
		new Message("INVALID_SERVICE_SEPARATION_DATE_AFTER_ON_DOD");

	public static final Message INVALID_FUTURE_SEPARATION_DATE =
		new Message("INVALID_FUTURE_SEPARATION_DATE");

	public static final Message INVALID_SERVICE_SEPARATE_DATE_LESS_THAN_SED =
		new Message("INVALID_SERVICE_SEPARATE_DATE_LESS_THAN_SED");

	public static final Message BRANCH_OF_SERVICE_REQUIRES_WWII_SERVICE_PERIOD =
		new Message("BRANCH_OF_SERVICE_REQUIRES_WWII_SERVICE_PERIOD");

	public static final Message FILIPINO_VETERAN_PROOF_REQUIRED =
		new Message("FILIPINO_VETERAN_PROOF_REQUIRED");

	public static final Message INVALID_MILITARY_DISABILITY_RETIREMENT_WITH_NSC =
		new Message("INVALID_MILITARY_DISABILITY_RETIREMENT_WITH_NSC");

	public static final Message INVALID_MILITARY_DISABILITY_RETIREMENT_SC_LESS_10 =
		new Message("INVALID_MILITARY_DISABILITY_RETIREMENT_SC_LESS_10");

	public static final Message INVALID_MARRIAGE_DATE_AFTER_INACTIVE_DATE =
		new Message("INVALID_MARRIAGE_DATE_AFTER_INACTIVE_DATE");


	public static final Message INVALID_SPOUSE_SSN_SAME_AS_VETERAN =
		new Message("INVALID_SPOUSE_SSN_SAME_AS_VETERAN");

	public static final Message VETERAN_INCOME_NOT_IN_RANGE = new Message("VETERAN_INCOME_NOT_IN_RANGE");
	public static final Message VETERAN_EXPENSE_NOT_IN_RANGE = new Message("VETERAN_EXPENSE_NOT_IN_RANGE");
	public static final Message VETERAN_ASSET_NOT_IN_RANGE = new Message("VETERAN_ASSET_NOT_IN_RANGE");
	public static final Message VETERAN_CONTRIBUTION_NOT_IN_RANGE = new Message("VETERAN_CONTRIBUTION_NOT_IN_RANGE");

	public static final Message SPOUSE_INCOME_NOT_IN_RANGE = new Message("SPOUSE_INCOME_NOT_IN_RANGE");
	public static final Message SPOUSE_EXPENSE_NOT_IN_RANGE = new Message("SPOUSE_EXPENSE_NOT_IN_RANGE");
	public static final Message SPOUSE_ASSET_NOT_IN_RANGE = new Message("SPOUSE_ASSET_NOT_IN_RANGE");
	public static final Message SPOUSE_CONTRIBUTION_NOT_IN_RANGE = new Message("SPOUSE_CONTRIBUTION_NOT_IN_RANGE");
	public static final Message CONTRIBUTED_TO_SPOUSE_NOT_APPLICABLE = new Message("CONTRIBUTED_TO_SPOUSE_NOT_APPLICABLE");

	public static final Message DEPENDENT_INCOME_NOT_IN_RANGE = new Message("DEPENDENT_INCOME_NOT_IN_RANGE");
	public static final Message DEPENDENT_EXPENSE_NOT_IN_RANGE = new Message("DEPENDENT_EXPENSE_NOT_IN_RANGE");
	public static final Message DEPENDENT_ASSET_NOT_IN_RANGE = new Message("DEPENDENT_ASSET_NOT_IN_RANGE");
	public static final Message DEPENDENT_CONTRIBUTION_NOT_IN_RANGE = new Message("DEPENDENT_CONTRIBUTION_NOT_IN_RANGE");

	public static final Message INCOME_TEST_CANNOT_BE_ADDED = new Message("INCOME_TEST_CANNOT_BE_ADDED");
	public static final Message INCOME_TEST_CANNOT_BE_EDITED = new Message("INCOME_TEST_CANNOT_BE_EDITED");
	public static final Message INCOME_TEST_CANNOT_BE_ADDED_OR_EDITED = new Message("INCOME_TEST_CANNOT_BE_ADDED_OR_EDITED");

    public static final Message SEND_TO_ADJUDICATION_REQUIRED = new Message("SEND_TO_ADJUDICATION_REQUIRED");
    public static final Message FINANCIALS_INPROCESS_STATE = new Message("FINANCIALS_INPROCESS_STATE");

    public static final Message ES_NOT_SUPPORT_CLEAR_CLE = new Message("ES_NOT_SUPPORT_CLEAR_CLE");
    public static final Message ES_CLE_UPDATED_WITH_CLEAR_INELIGIBLE = new Message("ES_CLE_UPDATED_WITH_CLEAR_INELIGIBLE");

	public static class Message extends AbstractCode {

		/**
		 * An instance of serialVersionUID
		 */
		private static final long serialVersionUID = 1837795512031925392L;

		private Message(String code) {
			super(code);
		}

		public static Message getByCode(String code) {
			return (Message) getCode(Message.class, code);
		}
	}
}
