/** * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.mifosplatform.accounting.common; import java.util.ArrayList; import java.util.List; import org.mifosplatform.accounting.glaccount.domain.GLAccountType; import org.mifosplatform.accounting.glaccount.domain.GLAccountUsage; import org.mifosplatform.accounting.journalentry.domain.JournalEntryType; import org.mifosplatform.accounting.producttoaccountmapping.domain.PortfolioProductType; import org.mifosplatform.infrastructure.core.data.EnumOptionData; public class AccountingEnumerations { public static EnumOptionData gLAccountType(final int id) { return gLAccountType(GLAccountType.fromInt(id)); } public static EnumOptionData gLAccountType(final GLAccountType accountType) { final EnumOptionData optionData = new EnumOptionData(accountType.getValue().longValue(), accountType.getCode(), accountType.toString()); return optionData; } public static List<EnumOptionData> gLAccountType(final GLAccountType[] accountTypes) { final List<EnumOptionData> optionDatas = new ArrayList<>(); for (final GLAccountType accountType : accountTypes) { optionDatas.add(gLAccountType(accountType)); } return optionDatas; } public static EnumOptionData gLAccountUsage(final int id) { return gLAccountUsage(GLAccountUsage.fromInt(id)); } public static EnumOptionData gLAccountUsage(final GLAccountUsage accountUsage) { final EnumOptionData optionData = new EnumOptionData(accountUsage.getValue().longValue(), accountUsage.getCode(), accountUsage.toString()); return optionData; } public static List<EnumOptionData> gLAccountUsage(final GLAccountUsage[] accountUsages) { final List<EnumOptionData> optionDatas = new ArrayList<>(); for (final GLAccountUsage accountUsage : accountUsages) { optionDatas.add(gLAccountUsage(accountUsage)); } return optionDatas; } public static EnumOptionData journalEntryType(final int id) { return journalEntryType(JournalEntryType.fromInt(id)); } public static EnumOptionData journalEntryType(final JournalEntryType journalEntryType) { final EnumOptionData optionData = new EnumOptionData(journalEntryType.getValue().longValue(), journalEntryType.getCode(), journalEntryType.toString()); return optionData; } public static List<EnumOptionData> journalEntryTypes(final JournalEntryType[] journalEntryTypes) { final List<EnumOptionData> optionDatas = new ArrayList<>(); for (final JournalEntryType journalEntryType : journalEntryTypes) { optionDatas.add(journalEntryType(journalEntryType)); } return optionDatas; } public static EnumOptionData portfolioProductType(final int id) { return portfolioProductType(PortfolioProductType.fromInt(id)); } public static EnumOptionData portfolioProductType(final PortfolioProductType portfolioProductType) { final EnumOptionData optionData = new EnumOptionData(portfolioProductType.getValue().longValue(), portfolioProductType.getCode(), portfolioProductType.toString()); return optionData; } public static EnumOptionData accountingRuleType(final int id) { return accountingRuleType(AccountingRuleType.fromInt(id)); } public static EnumOptionData accountingRuleType(final AccountingRuleType type) { final EnumOptionData optionData = new EnumOptionData(type.getValue().longValue(), type.getCode(), type.toString()); return optionData; } public static List<EnumOptionData> accountingRuleTypes(final AccountingRuleType[] accountingRuleTypes) { final List<EnumOptionData> optionDatas = new ArrayList<>(); for (final AccountingRuleType accountingRuleType : accountingRuleTypes) { optionDatas.add(accountingRuleType(accountingRuleType)); } return optionDatas; } }