From 74b04cd4d350e4426cf30cdcc4e47941f7a5136c Mon Sep 17 00:00:00 2001
From: thesmallstar
Date: Thu, 18 Jun 2020 02:38:34 +0530
Subject: [PATCH] FINERACT-821 Added and Enforced FinalClass checkstyle
---
fineract-provider/config/checkstyle/checkstyle.xml | 3 ++-
.../apache/fineract/integrationtests/common/BatchHelper.java | 2 +-
.../apache/fineract/integrationtests/common/CenterDomain.java | 2 +-
.../fineract/integrationtests/common/CurrencyDomain.java | 2 +-
.../apache/fineract/integrationtests/common/OfficeDomain.java | 2 +-
.../fineract/integrationtests/common/PaymentTypeDomain.java | 2 +-
.../fineract/integrationtests/common/funds/FundsHelper.java | 2 +-
.../journalentry/data/OfficeOpeningBalancesData.java | 2 +-
.../java/org/apache/fineract/adhocquery/domain/AdHoc.java | 2 +-
.../org/apache/fineract/batch/command/CommandContext.java | 4 ++--
.../infrastructure/bulkimport/data/BulkImportEvent.java | 2 +-
.../apache/fineract/infrastructure/bulkimport/data/Count.java | 2 +-
.../fineract/infrastructure/bulkimport/data/ImportData.java | 2 +-
.../apache/fineract/infrastructure/cache/data/CacheData.java | 2 +-
.../campaigns/email/data/EmailCampaignData.java | 2 +-
.../campaigns/email/data/EmailConfigurationData.java | 2 +-
.../campaigns/email/data/EmailConfigurationValidator.java | 2 +-
.../infrastructure/campaigns/email/data/EmailData.java | 2 +-
.../campaigns/email/data/EmailMessageWithAttachmentData.java | 2 +-
.../email/service/EmailMessageJobEmailServiceImpl.java | 2 +-
.../infrastructure/campaigns/sms/data/SmsCampaignData.java | 2 +-
.../apache/fineract/infrastructure/codes/data/CodeData.java | 2 +-
.../infrastructure/core/data/PaginationParameters.java | 2 +-
.../creditbureau/data/CreditBureauConfigurationData.java | 2 +-
.../infrastructure/creditbureau/data/CreditBureauData.java | 2 +-
.../creditbureau/data/CreditBureauLoanProductMappingData.java | 2 +-
.../creditbureau/data/CreditBureauMasterData.java | 2 +-
.../infrastructure/creditbureau/data/CreditBureauProduct.java | 2 +-
.../creditbureau/data/OrganisationCreditBureauData.java | 2 +-
.../infrastructure/dataqueries/data/DatatableData.java | 2 +-
.../fineract/infrastructure/dataqueries/data/ReportData.java | 2 +-
.../infrastructure/dataqueries/data/ReportParameterData.java | 2 +-
.../dataqueries/data/ReportParameterJoinData.java | 2 +-
.../infrastructure/dataqueries/data/ResultsetRowData.java | 2 +-
.../entityaccess/data/FineractEntityToEntityMappingData.java | 2 +-
.../entityaccess/domain/FineractEntityAccessType.java | 2 +-
.../domain/FineractEntityRelationRepositoryWrapper.java | 2 +-
.../entityaccess/domain/FineractEntityType.java | 2 +-
.../infrastructure/gcm/domain/DeviceRegistration.java | 2 +-
.../infrastructure/gcm/domain/DeviceRegistrationData.java | 2 +-
.../org/apache/fineract/infrastructure/hooks/data/Event.java | 2 +-
.../org/apache/fineract/infrastructure/hooks/data/Field.java | 2 +-
.../apache/fineract/infrastructure/hooks/data/HookData.java | 2 +-
.../fineract/infrastructure/hooks/data/HookTemplateData.java | 2 +-
.../data/ReportMailingJobConfigurationData.java | 2 +-
.../reportmailingjob/data/ReportMailingJobData.java | 2 +-
.../reportmailingjob/data/ReportMailingJobRunHistoryData.java | 2 +-
.../infrastructure/security/data/PlatformRequestLog.java | 2 +-
.../org/apache/fineract/infrastructure/sms/data/SmsData.java | 2 +-
.../infrastructure/survey/data/SurveyDataTableData.java | 2 +-
.../interoperation/data/InteropQuoteResponseData.java | 2 +-
.../data/InteropTransactionRequestResponseData.java | 2 +-
.../interoperation/data/InteropTransferResponseData.java | 2 +-
.../organisation/office/data/OfficeTransactionData.java | 2 +-
.../provisioning/data/ProvisioningCriteriaData.java | 2 +-
.../organisation/staff/data/BulkTransferLoanOfficerData.java | 2 +-
.../apache/fineract/organisation/staff/data/StaffData.java | 2 +-
.../fineract/organisation/teller/domain/CashierTxnType.java | 2 +-
.../fineract/portfolio/account/data/AccountTransferData.java | 2 +-
.../portfolio/account/data/StandingInstructionData.java | 2 +-
.../fineract/portfolio/address/data/ClientAddressData.java | 2 +-
.../portfolio/address/data/FieldConfigurationData.java | 2 +-
.../apache/fineract/portfolio/calendar/data/CalendarData.java | 2 +-
.../org/apache/fineract/portfolio/charge/data/ChargeData.java | 2 +-
.../fineract/portfolio/client/data/ClientChargeData.java | 2 +-
.../org/apache/fineract/portfolio/client/data/ClientData.java | 2 +-
.../portfolio/client/data/ClientFamilyMembersData.java | 2 +-
.../fineract/portfolio/client/data/ClientTransactionData.java | 2 +-
.../ClientFamilyMemberCommandFromApiJsonDeserializer.java | 2 +-
.../fineract/portfolio/collateral/data/CollateralData.java | 2 +-
.../portfolio/collectionsheet/data/IndividualClientData.java | 2 +-
.../collectionsheet/data/IndividualCollectionSheetData.java | 2 +-
.../portfolio/collectionsheet/data/JLGClientData.java | 2 +-
.../collectionsheet/data/JLGCollectionSheetData.java | 2 +-
.../fineract/portfolio/collectionsheet/data/JLGGroupData.java | 2 +-
.../portfolio/collectionsheet/data/SavingsDueData.java | 2 +-
.../org/apache/fineract/portfolio/fund/data/FundData.java | 2 +-
.../org/apache/fineract/portfolio/group/data/CenterData.java | 2 +-
.../apache/fineract/portfolio/group/data/StaffCenterData.java | 2 +-
.../interestratechart/data/InterestIncentiveData.java | 2 +-
.../interestratechart/data/InterestRateChartData.java | 2 +-
.../interestratechart/data/InterestRateChartSlabData.java | 2 +-
.../portfolio/loanaccount/data/GlimRepaymentTemplate.java | 2 +-
.../data/GroupLoanIndividualMonitoringAccountData.java | 2 +-
.../fineract/portfolio/loanaccount/data/LoanAccountData.java | 2 +-
.../domain/GroupLoanIndividualMonitoringAccount.java | 2 +-
.../loanaccount/guarantor/data/GuarantorFundingData.java | 2 +-
.../loanaccount/guarantor/data/GuarantorTransactionData.java | 2 +-
.../portfolio/loanaccount/guarantor/data/ObligeeData.java | 2 +-
.../loanaccount/loanschedule/data/LoanScheduleDTO.java | 2 +-
.../loanaccount/loanschedule/data/LoanScheduleParams.java | 2 +-
.../loanaccount/loanschedule/data/LoanSchedulePeriodData.java | 2 +-
.../rescheduleloan/data/LoanRescheduleRequestData.java | 2 +-
.../portfolio/loanproduct/data/LoanProductGuaranteeData.java | 2 +-
.../meeting/attendance/data/ClientAttendanceData.java | 2 +-
.../apache/fineract/portfolio/meeting/data/MeetingData.java | 2 +-
.../org/apache/fineract/portfolio/rate/data/RateData.java | 2 +-
.../portfolio/savings/data/ClosingOfSavingsAccounts.java | 2 +-
.../savings/data/DepositAccountInterestIncentiveData.java | 2 +-
.../savings/data/DepositAccountInterestRateChartData.java | 2 +-
.../savings/data/DepositAccountInterestRateChartSlabData.java | 2 +-
.../savings/data/DepositAccountOnHoldTransactionData.java | 2 +-
.../portfolio/savings/data/FixedDepositAccountData.java | 2 +-
.../portfolio/savings/data/FixedDepositProductData.java | 2 +-
.../data/GroupSavingsIndividualMonitoringAccountData.java | 2 +-
.../portfolio/savings/data/RecurringDepositAccountData.java | 2 +-
.../portfolio/savings/data/RecurringDepositProductData.java | 2 +-
.../portfolio/savings/data/SavingsAccountAnnualFeeData.java | 2 +-
.../fineract/portfolio/savings/data/SavingsAccountData.java | 2 +-
.../portfolio/savings/data/SavingsAccountTransactionData.java | 2 +-
.../fineract/portfolio/savings/data/SavingsActivation.java | 2 +-
.../fineract/portfolio/savings/data/SavingsApproval.java | 2 +-
.../fineract/portfolio/savings/data/SavingsProductData.java | 2 +-
.../savings/domain/GroupSavingsIndividualMonitoring.java | 2 +-
.../savings/domain/interest/AnnualCompoundingPeriod.java | 2 +-
.../savings/domain/interest/BiAnnualCompoundingPeriod.java | 2 +-
.../savings/domain/interest/DailyCompoundingPeriod.java | 2 +-
.../savings/domain/interest/MonthlyCompoundingPeriod.java | 2 +-
.../portfolio/savings/domain/interest/PostingPeriod.java | 2 +-
.../savings/domain/interest/QuarterlyCompoundingPeriod.java | 2 +-
.../fineract/portfolio/search/data/AdHocSearchQueryData.java | 2 +-
.../portfolio/self/pockets/data/PocketAccountMappingData.java | 2 +-
.../portfolio/shareproducts/data/ShareProductData.java | 2 +-
.../apache/fineract/portfolio/tax/data/TaxComponentData.java | 2 +-
.../org/apache/fineract/portfolio/tax/data/TaxGroupData.java | 2 +-
.../java/org/apache/fineract/spm/util/LookupTableMapper.java | 2 +-
.../java/org/apache/fineract/spm/util/ScorecardMapper.java | 2 +-
.../main/java/org/apache/fineract/spm/util/SurveyMapper.java | 2 +-
.../java/org/apache/fineract/template/data/TemplateData.java | 2 +-
.../apache/fineract/useradministration/data/AppUserData.java | 2 +-
.../fineract/useradministration/data/PermissionData.java | 2 +-
131 files changed, 133 insertions(+), 132 deletions(-)
diff --git a/fineract-provider/config/checkstyle/checkstyle.xml b/fineract-provider/config/checkstyle/checkstyle.xml
index 9788ab4c5..3519ad487 100644
--- a/fineract-provider/config/checkstyle/checkstyle.xml
+++ b/fineract-provider/config/checkstyle/checkstyle.xml
@@ -57,6 +57,7 @@
+
@@ -177,7 +178,7 @@
-
+
< ! - - TODO Checks for Exception Handling Anti-Patterns - - >
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/BatchHelper.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/BatchHelper.java
index 310157afb..8bb347a3a 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/BatchHelper.java
+++ b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/BatchHelper.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
*
* @see org.apache.fineract.integrationtests.BatchApiTest
*/
-public class BatchHelper {
+public final class BatchHelper {
private final static Logger LOG = LoggerFactory.getLogger(BatchHelper.class);
private static final String BATCH_API_URL = "/fineract-provider/api/v1/batches?" + Utils.TENANT_IDENTIFIER;
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CenterDomain.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CenterDomain.java
index 22fc13906..87ea6fcda 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CenterDomain.java
+++ b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CenterDomain.java
@@ -28,7 +28,7 @@ public class CenterDomain implements Comparable {
private final static Logger LOG = LoggerFactory.getLogger(CenterDomain.class);
- public static class Builder {
+ public final static class Builder {
private final Integer id;
private final String accountNo;
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CurrencyDomain.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CurrencyDomain.java
index a96e12b44..a62994e45 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CurrencyDomain.java
+++ b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CurrencyDomain.java
@@ -22,7 +22,7 @@ import com.google.gson.Gson;
public class CurrencyDomain implements Comparable {
- public static class Builder {
+ public final static class Builder {
private String code;
private String name;
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/OfficeDomain.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/OfficeDomain.java
index d936d9945..a522b4685 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/OfficeDomain.java
+++ b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/OfficeDomain.java
@@ -23,7 +23,7 @@ import java.util.Arrays;
public class OfficeDomain {
- public static class Builder {
+ public final static class Builder {
private int id;
private String name;
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/PaymentTypeDomain.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/PaymentTypeDomain.java
index 7437ec84b..df780c215 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/PaymentTypeDomain.java
+++ b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/PaymentTypeDomain.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.integrationtests.common;
-public class PaymentTypeDomain {
+public final class PaymentTypeDomain {
private Integer id;
private String name;
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/funds/FundsHelper.java b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/funds/FundsHelper.java
index 9ad0aa004..604b0888b 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/funds/FundsHelper.java
+++ b/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/funds/FundsHelper.java
@@ -22,7 +22,7 @@ import com.google.gson.Gson;
public class FundsHelper {
- public static class Builder {
+ final public static class Builder {
private String name;
private String externalId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/data/OfficeOpeningBalancesData.java b/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/data/OfficeOpeningBalancesData.java
index 9333fce44..627dc8f1f 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/data/OfficeOpeningBalancesData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/data/OfficeOpeningBalancesData.java
@@ -22,7 +22,7 @@ import java.util.List;
import org.apache.fineract.accounting.glaccount.data.GLAccountData;
import org.joda.time.LocalDate;
-public class OfficeOpeningBalancesData {
+public final class OfficeOpeningBalancesData {
@SuppressWarnings("unused")
private final Long officeId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/adhocquery/domain/AdHoc.java b/fineract-provider/src/main/java/org/apache/fineract/adhocquery/domain/AdHoc.java
index 84838f538..2f7782a5c 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/adhocquery/domain/AdHoc.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/adhocquery/domain/AdHoc.java
@@ -32,7 +32,7 @@ import org.apache.fineract.infrastructure.security.utils.SQLInjectionValidator;
@Entity
@Table(name = "m_adhoc")
-public class AdHoc extends AbstractAuditableCustom {
+public final class AdHoc extends AbstractAuditableCustom {
@Column(name = "name", length = 100)
private String name;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/batch/command/CommandContext.java b/fineract-provider/src/main/java/org/apache/fineract/batch/command/CommandContext.java
index 4f2275ae7..d8a8bb493 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/batch/command/CommandContext.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/batch/command/CommandContext.java
@@ -28,14 +28,14 @@ package org.apache.fineract.batch.command;
*
* @see org.apache.fineract.batch.service.BatchApiService
*/
-public class CommandContext {
+public final class CommandContext {
/**
* Static Builder class to provide a Build method for CommandContext.
*
* @author Rishabh Shukla
*/
- public static class Builder {
+ public final static class Builder {
private String resource;
private String method;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/data/BulkImportEvent.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/data/BulkImportEvent.java
index 66dd11b46..4996dddde 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/data/BulkImportEvent.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/data/BulkImportEvent.java
@@ -21,7 +21,7 @@ package org.apache.fineract.infrastructure.bulkimport.data;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.context.ApplicationEvent;
-public class BulkImportEvent extends ApplicationEvent {
+public final class BulkImportEvent extends ApplicationEvent {
private final String tenantIdentifier;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/data/Count.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/data/Count.java
index be7312320..696b6feb3 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/data/Count.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/data/Count.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.infrastructure.bulkimport.data;
-public class Count {
+public final class Count {
private Integer successCount;
private Integer errorCount;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/data/ImportData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/data/ImportData.java
index 83499308a..5f6dae463 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/data/ImportData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/bulkimport/data/ImportData.java
@@ -20,7 +20,7 @@ package org.apache.fineract.infrastructure.bulkimport.data;
import org.joda.time.LocalDate;
-public class ImportData {
+public final class ImportData {
@SuppressWarnings("unused")
private Long importId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/cache/data/CacheData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/cache/data/CacheData.java
index 1a4d543e3..7f0240de6 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/cache/data/CacheData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/cache/data/CacheData.java
@@ -20,7 +20,7 @@ package org.apache.fineract.infrastructure.cache.data;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
-public class CacheData {
+public final class CacheData {
@SuppressWarnings("unused")
private final EnumOptionData cacheType;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailCampaignData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailCampaignData.java
index 76984ce2c..a6488054a 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailCampaignData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailCampaignData.java
@@ -22,7 +22,7 @@ import org.apache.fineract.infrastructure.core.data.EnumOptionData;
import org.joda.time.DateTime;
import org.joda.time.LocalDate;
-public class EmailCampaignData {
+public final class EmailCampaignData {
@SuppressWarnings("unused")
private Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailConfigurationData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailConfigurationData.java
index 2cbc66ce3..c77522a36 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailConfigurationData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailConfigurationData.java
@@ -21,7 +21,7 @@ package org.apache.fineract.infrastructure.campaigns.email.data;
/**
* Immutable data object representing an Email configuration.
*/
-public class EmailConfigurationData {
+public final class EmailConfigurationData {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailConfigurationValidator.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailConfigurationValidator.java
index 1ce855472..75e73556e 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailConfigurationValidator.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailConfigurationValidator.java
@@ -40,7 +40,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
-public class EmailConfigurationValidator {
+public final class EmailConfigurationValidator {
private final FromJsonHelper fromApiJsonHelper;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailData.java
index 54c1d63cf..2a7b7c56b 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailData.java
@@ -26,7 +26,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object representing a SMS message.
*/
-public class EmailData {
+public final class EmailData {
private final Long id;
private final Long groupId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailMessageWithAttachmentData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailMessageWithAttachmentData.java
index 066cb1122..a67ebf20b 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailMessageWithAttachmentData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/data/EmailMessageWithAttachmentData.java
@@ -21,7 +21,7 @@ package org.apache.fineract.infrastructure.campaigns.email.data;
import java.io.File;
import java.util.List;
-public class EmailMessageWithAttachmentData {
+public final class EmailMessageWithAttachmentData {
private final String to;
private final String text;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/service/EmailMessageJobEmailServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/service/EmailMessageJobEmailServiceImpl.java
index 9dd8b8d4b..3b28b4510 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/service/EmailMessageJobEmailServiceImpl.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/email/service/EmailMessageJobEmailServiceImpl.java
@@ -35,7 +35,7 @@ import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
@Service
-public class EmailMessageJobEmailServiceImpl implements EmailMessageJobEmailService {
+public final class EmailMessageJobEmailServiceImpl implements EmailMessageJobEmailService {
private final static Logger LOG = LoggerFactory.getLogger(EmailMessageJobEmailServiceImpl.class);
private EmailConfigurationRepository emailConfigurationRepository;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/data/SmsCampaignData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/data/SmsCampaignData.java
index d22b14c97..6d6e31b09 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/data/SmsCampaignData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/data/SmsCampaignData.java
@@ -24,7 +24,7 @@ import org.joda.time.DateTime;
import org.joda.time.LocalDate;
@SuppressWarnings("unused")
-public class SmsCampaignData {
+public final class SmsCampaignData {
private Long id;
private final String campaignName;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/codes/data/CodeData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/codes/data/CodeData.java
index f1088e842..7ebb89c3c 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/codes/data/CodeData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/codes/data/CodeData.java
@@ -23,7 +23,7 @@ import java.io.Serializable;
/**
* Immutable data object representing a code.
*/
-public class CodeData implements Serializable {
+public final class CodeData implements Serializable {
private final Long id;
@SuppressWarnings("unused")
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/data/PaginationParameters.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/data/PaginationParameters.java
index f80eaf587..de5915d18 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/data/PaginationParameters.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/data/PaginationParameters.java
@@ -25,7 +25,7 @@ import org.apache.commons.lang3.StringUtils;
* Immutable data object representing pagination parameter values.
*
*/
-public class PaginationParameters {
+public final class PaginationParameters {
private final boolean paged;
private final Integer offset;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauConfigurationData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauConfigurationData.java
index a54ea9ba9..64ef95c82 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauConfigurationData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauConfigurationData.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.infrastructure.creditbureau.data;
-public class CreditBureauConfigurationData {
+public final class CreditBureauConfigurationData {
private final long creditBureauConfigurationId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauData.java
index 31382af3c..8d24787d3 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauData.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.infrastructure.creditbureau.data;
-public class CreditBureauData {
+public final class CreditBureauData {
private final long creditBureauId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauLoanProductMappingData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauLoanProductMappingData.java
index 9eb08ac40..41394d7ab 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauLoanProductMappingData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauLoanProductMappingData.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.infrastructure.creditbureau.data;
-public class CreditBureauLoanProductMappingData {
+public final class CreditBureauLoanProductMappingData {
private final long creditbureauLoanProductMappingId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauMasterData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauMasterData.java
index bef1e61e6..06dcb371f 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauMasterData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauMasterData.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.infrastructure.creditbureau.data;
-public class CreditBureauMasterData {
+public final class CreditBureauMasterData {
private final long creditBureauId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauProduct.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauProduct.java
index c2c42dd4b..1ebdaf54a 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauProduct.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/CreditBureauProduct.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.infrastructure.creditbureau.data;
-public class CreditBureauProduct {
+public final class CreditBureauProduct {
private final long creditBureauProductId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/OrganisationCreditBureauData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/OrganisationCreditBureauData.java
index 409bc0ebf..beb7b0793 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/OrganisationCreditBureauData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/data/OrganisationCreditBureauData.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.infrastructure.creditbureau.data;
-public class OrganisationCreditBureauData {
+public final class OrganisationCreditBureauData {
private final long organisationCreditBureauId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/DatatableData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/DatatableData.java
index a716f4351..fb149ce24 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/DatatableData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/DatatableData.java
@@ -24,7 +24,7 @@ import java.util.List;
/**
* Immutable data object representing datatable data.
*/
-public class DatatableData implements Serializable {
+public final class DatatableData implements Serializable {
@SuppressWarnings("unused")
private final String applicationTableName;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ReportData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ReportData.java
index d89d26ea6..eafb5fa8d 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ReportData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ReportData.java
@@ -22,7 +22,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-final public class ReportData {
+public final class ReportData {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ReportParameterData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ReportParameterData.java
index 03fb12e0e..f07f3b42b 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ReportParameterData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ReportParameterData.java
@@ -19,7 +19,7 @@
package org.apache.fineract.infrastructure.dataqueries.data;
/* used to show list of parameters used by a report and also for getting a list of parameters available (the reportParameterName is left null */
-final public class ReportParameterData {
+public final class ReportParameterData {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ReportParameterJoinData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ReportParameterJoinData.java
index 08caaa84d..144da4e5a 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ReportParameterJoinData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ReportParameterJoinData.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.infrastructure.dataqueries.data;
-final public class ReportParameterJoinData {
+public final class ReportParameterJoinData {
private final Long reportId;
private final String reportName;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetRowData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetRowData.java
index 452934fa2..d60252a1d 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetRowData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/data/ResultsetRowData.java
@@ -20,7 +20,7 @@ package org.apache.fineract.infrastructure.dataqueries.data;
import java.util.List;
-public class ResultsetRowData {
+public final class ResultsetRowData {
private final List row;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/data/FineractEntityToEntityMappingData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/data/FineractEntityToEntityMappingData.java
index 85d271289..56d7f1cad 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/data/FineractEntityToEntityMappingData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/data/FineractEntityToEntityMappingData.java
@@ -21,7 +21,7 @@ package org.apache.fineract.infrastructure.entityaccess.data;
import java.io.Serializable;
import java.util.Date;
-public class FineractEntityToEntityMappingData implements Serializable {
+public final class FineractEntityToEntityMappingData implements Serializable {
@SuppressWarnings("unused")
private Long mapId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/domain/FineractEntityAccessType.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/domain/FineractEntityAccessType.java
index 90c531de6..55274f0e3 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/domain/FineractEntityAccessType.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/domain/FineractEntityAccessType.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.infrastructure.entityaccess.domain;
-public class FineractEntityAccessType {
+public final class FineractEntityAccessType {
private String str;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/domain/FineractEntityRelationRepositoryWrapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/domain/FineractEntityRelationRepositoryWrapper.java
index b224ec558..571231089 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/domain/FineractEntityRelationRepositoryWrapper.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/domain/FineractEntityRelationRepositoryWrapper.java
@@ -23,7 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
-public class FineractEntityRelationRepositoryWrapper {
+public final class FineractEntityRelationRepositoryWrapper {
private final FineractEntityRelationRepository fineractEntityRelationRepository;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/domain/FineractEntityType.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/domain/FineractEntityType.java
index 5797ee046..0193a5e29 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/domain/FineractEntityType.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/entityaccess/domain/FineractEntityType.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.infrastructure.entityaccess.domain;
-public class FineractEntityType {
+public final class FineractEntityType {
private String type;
private String description;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/domain/DeviceRegistration.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/domain/DeviceRegistration.java
index 1b6565930..1eb9e5130 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/domain/DeviceRegistration.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/domain/DeviceRegistration.java
@@ -32,7 +32,7 @@ import org.apache.fineract.portfolio.client.domain.Client;
@Entity
@Table(name = "client_device_registration")
-public class DeviceRegistration extends AbstractPersistableCustom {
+public final class DeviceRegistration extends AbstractPersistableCustom {
@OneToOne
@JoinColumn(name = "client_id", nullable = false, unique = true)
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/domain/DeviceRegistrationData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/domain/DeviceRegistrationData.java
index a2334fefe..9de71ba3a 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/domain/DeviceRegistrationData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/domain/DeviceRegistrationData.java
@@ -21,7 +21,7 @@ package org.apache.fineract.infrastructure.gcm.domain;
import java.util.Date;
import org.apache.fineract.portfolio.client.data.ClientData;
-public class DeviceRegistrationData {
+public final class DeviceRegistrationData {
public Long id;
public ClientData clientData;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Event.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Event.java
index 5e28c988b..bc0a09fad 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Event.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Event.java
@@ -20,7 +20,7 @@ package org.apache.fineract.infrastructure.hooks.data;
import java.io.Serializable;
-public class Event implements Serializable {
+public final class Event implements Serializable {
private final String actionName;
private final String entityName;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Field.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Field.java
index 40ceb3612..ac4603f06 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Field.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Field.java
@@ -21,7 +21,7 @@ package org.apache.fineract.infrastructure.hooks.data;
import java.io.Serializable;
@SuppressWarnings("unused")
-public class Field implements Serializable {
+public final class Field implements Serializable {
private final String fieldName;
private final String fieldValue;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookData.java
index ff0efff32..e06e14ea1 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookData.java
@@ -22,7 +22,7 @@ import java.io.Serializable;
import java.util.List;
import org.joda.time.LocalDate;
-public class HookData implements Serializable {
+public final class HookData implements Serializable {
private final Long id;
private final String name;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookTemplateData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookTemplateData.java
index ff44ceb87..d8ac8e4f5 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookTemplateData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookTemplateData.java
@@ -22,7 +22,7 @@ import java.io.Serializable;
import java.util.List;
@SuppressWarnings("unused")
-public class HookTemplateData implements Serializable {
+public final class HookTemplateData implements Serializable {
private final Long id;
private final String name;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobConfigurationData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobConfigurationData.java
index ecb3d268a..16e014498 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobConfigurationData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobConfigurationData.java
@@ -21,7 +21,7 @@ package org.apache.fineract.infrastructure.reportmailingjob.data;
/**
* Immutable data object representing report mailing job configuration data.
**/
-public class ReportMailingJobConfigurationData {
+public final class ReportMailingJobConfigurationData {
private final int id;
private final String name;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobData.java
index 2b0a7df95..40b58b9d2 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobData.java
@@ -26,7 +26,7 @@ import org.joda.time.DateTime;
/**
* Immutable data object representing report mailing job data.
**/
-public class ReportMailingJobData {
+public final class ReportMailingJobData {
private final Long id;
private final String name;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobRunHistoryData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobRunHistoryData.java
index b78e10784..d86159945 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobRunHistoryData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/reportmailingjob/data/ReportMailingJobRunHistoryData.java
@@ -23,7 +23,7 @@ import org.joda.time.DateTime;
/**
* Immutable data object representing report mailing job run history data.
**/
-public class ReportMailingJobRunHistoryData {
+public final class ReportMailingJobRunHistoryData {
private final Long id;
private final Long reportMailingJobId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/data/PlatformRequestLog.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/data/PlatformRequestLog.java
index b2ccc06d7..923f03475 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/data/PlatformRequestLog.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/security/data/PlatformRequestLog.java
@@ -28,7 +28,7 @@ import org.apache.commons.lang3.time.StopWatch;
* Immutable data object representing platform API request used for
* logging/debugging.
*/
-public class PlatformRequestLog {
+public final class PlatformRequestLog {
@SuppressWarnings("unused")
private final long startTime;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/data/SmsData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/data/SmsData.java
index ddc0ad4b7..dd3b0f660 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/data/SmsData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/data/SmsData.java
@@ -23,7 +23,7 @@ import org.apache.fineract.infrastructure.core.data.EnumOptionData;
/**
* Immutable data object representing a SMS message.
*/
-public class SmsData {
+public final class SmsData {
private final Long id;
private final Long groupId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/survey/data/SurveyDataTableData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/survey/data/SurveyDataTableData.java
index ce83b4855..d20504f5d 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/survey/data/SurveyDataTableData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/survey/data/SurveyDataTableData.java
@@ -20,7 +20,7 @@ package org.apache.fineract.infrastructure.survey.data;
import org.apache.fineract.infrastructure.dataqueries.data.DatatableData;
-public class SurveyDataTableData {
+public final class SurveyDataTableData {
@SuppressWarnings("unused")
private final DatatableData datatableData;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/interoperation/data/InteropQuoteResponseData.java b/fineract-provider/src/main/java/org/apache/fineract/interoperation/data/InteropQuoteResponseData.java
index 398ef5ec4..14148e030 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/interoperation/data/InteropQuoteResponseData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/interoperation/data/InteropQuoteResponseData.java
@@ -24,7 +24,7 @@ import javax.validation.constraints.NotNull;
import org.apache.fineract.interoperation.domain.InteropActionState;
import org.joda.time.LocalDateTime;
-public class InteropQuoteResponseData extends InteropResponseData {
+public final class InteropQuoteResponseData extends InteropResponseData {
@NotNull
private final String quoteCode;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/interoperation/data/InteropTransactionRequestResponseData.java b/fineract-provider/src/main/java/org/apache/fineract/interoperation/data/InteropTransactionRequestResponseData.java
index df6169536..7802f5fed 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/interoperation/data/InteropTransactionRequestResponseData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/interoperation/data/InteropTransactionRequestResponseData.java
@@ -24,7 +24,7 @@ import javax.validation.constraints.NotNull;
import org.apache.fineract.interoperation.domain.InteropActionState;
import org.joda.time.LocalDateTime;
-public class InteropTransactionRequestResponseData extends InteropResponseData {
+public final class InteropTransactionRequestResponseData extends InteropResponseData {
@NotNull
private final String requestCode;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/interoperation/data/InteropTransferResponseData.java b/fineract-provider/src/main/java/org/apache/fineract/interoperation/data/InteropTransferResponseData.java
index 42f579f18..536b308f4 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/interoperation/data/InteropTransferResponseData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/interoperation/data/InteropTransferResponseData.java
@@ -26,7 +26,7 @@ import javax.validation.constraints.NotNull;
import org.apache.fineract.interoperation.domain.InteropActionState;
import org.joda.time.LocalDateTime;
-public class InteropTransferResponseData extends InteropResponseData {
+public final class InteropTransferResponseData extends InteropResponseData {
@NotNull
private final String transferCode;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/office/data/OfficeTransactionData.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/office/data/OfficeTransactionData.java
index 9e603e052..3625a6fac 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/office/data/OfficeTransactionData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/office/data/OfficeTransactionData.java
@@ -26,7 +26,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object for office transactions.
*/
-public class OfficeTransactionData {
+public final class OfficeTransactionData {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/data/ProvisioningCriteriaData.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/data/ProvisioningCriteriaData.java
index ccf86ed55..650983de1 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/data/ProvisioningCriteriaData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/provisioning/data/ProvisioningCriteriaData.java
@@ -25,7 +25,7 @@ import org.apache.fineract.accounting.glaccount.data.GLAccountData;
import org.apache.fineract.portfolio.loanproduct.data.LoanProductData;
@SuppressWarnings("unused")
-public class ProvisioningCriteriaData implements Comparable, Serializable {
+public final class ProvisioningCriteriaData implements Comparable, Serializable {
private final Long criteriaId;
private final String criteriaName;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/staff/data/BulkTransferLoanOfficerData.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/staff/data/BulkTransferLoanOfficerData.java
index b46827547..3f065ffd8 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/staff/data/BulkTransferLoanOfficerData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/staff/data/BulkTransferLoanOfficerData.java
@@ -25,7 +25,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object returned for loan-officer bulk transfer screens.
*/
-public class BulkTransferLoanOfficerData {
+public final class BulkTransferLoanOfficerData {
@SuppressWarnings("unused")
private final Long officeId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/staff/data/StaffData.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/staff/data/StaffData.java
index 017efda43..defdb6121 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/staff/data/StaffData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/staff/data/StaffData.java
@@ -26,7 +26,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object representing staff data.
*/
-public class StaffData implements Serializable {
+public final class StaffData implements Serializable {
private final Long id;
private final String externalId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java
index dfaaac344..e177b5246 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/domain/CashierTxnType.java
@@ -20,7 +20,7 @@ package org.apache.fineract.organisation.teller.domain;
import java.io.Serializable;
-public class CashierTxnType implements Serializable {
+public final class CashierTxnType implements Serializable {
private Integer id;
private String value;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/AccountTransferData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/AccountTransferData.java
index 06955e35d..ec8b6e39c 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/AccountTransferData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/AccountTransferData.java
@@ -31,7 +31,7 @@ import org.joda.time.LocalDate;
* Immutable data object representing a savings account.
*/
@SuppressWarnings("unused")
-public class AccountTransferData implements Serializable {
+public final class AccountTransferData implements Serializable {
private final Long id;
private final Boolean reversed;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/StandingInstructionData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/StandingInstructionData.java
index 778432cbb..d48d687d0 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/StandingInstructionData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/data/StandingInstructionData.java
@@ -38,7 +38,7 @@ import org.joda.time.MonthDay;
* Immutable data object representing a savings account.
*/
@SuppressWarnings("unused")
-public class StandingInstructionData {
+public final class StandingInstructionData {
private final Long id;
private final Long accountDetailId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/address/data/ClientAddressData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/address/data/ClientAddressData.java
index 2e32169e1..30eb5b484 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/address/data/ClientAddressData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/address/data/ClientAddressData.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.portfolio.address.data;
-public class ClientAddressData {
+public final class ClientAddressData {
private final long clientAddressId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/address/data/FieldConfigurationData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/address/data/FieldConfigurationData.java
index 9f60a4bf1..896481838 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/address/data/FieldConfigurationData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/address/data/FieldConfigurationData.java
@@ -18,7 +18,7 @@
*/
package org.apache.fineract.portfolio.address.data;
-public class FieldConfigurationData {
+public final class FieldConfigurationData {
private final long fieldConfigurationId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/calendar/data/CalendarData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/calendar/data/CalendarData.java
index 33bc74cef..dc70ba6c1 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/calendar/data/CalendarData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/calendar/data/CalendarData.java
@@ -36,7 +36,7 @@ import org.joda.time.LocalTime;
/**
* Immutable data object representing a Calendar.
*/
-public class CalendarData implements Serializable {
+public final class CalendarData implements Serializable {
private final Long id;
private final Long calendarInstanceId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/charge/data/ChargeData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/charge/data/ChargeData.java
index 2b23364aa..1025c72d6 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/charge/data/ChargeData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/charge/data/ChargeData.java
@@ -37,7 +37,7 @@ import org.joda.time.MonthDay;
/**
* Immutable data object for charge data.
*/
-public class ChargeData implements Comparable, Serializable {
+public final class ChargeData implements Comparable, Serializable {
private final Long id;
private final String name;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientChargeData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientChargeData.java
index 71a879d66..472ec8a99 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientChargeData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientChargeData.java
@@ -26,7 +26,7 @@ import org.apache.fineract.portfolio.charge.data.ChargeData;
import org.joda.time.LocalDate;
@SuppressWarnings("unused")
-public class ClientChargeData {
+public final class ClientChargeData {
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientData.java
index 16dab3f37..55ce6b933 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientData.java
@@ -40,7 +40,7 @@ import org.joda.time.LocalDate;
* Immutable data object representing client data.
*/
@SuppressWarnings("unused")
-final public class ClientData implements Comparable, Serializable {
+public final class ClientData implements Comparable, Serializable {
private final Long id;
private final String accountNo;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientFamilyMembersData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientFamilyMembersData.java
index 6e1f750d9..eab20ae43 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientFamilyMembersData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientFamilyMembersData.java
@@ -24,7 +24,7 @@ import java.util.Collection;
import org.apache.fineract.infrastructure.codes.data.CodeValueData;
import org.joda.time.LocalDate;
-public class ClientFamilyMembersData implements Serializable {
+public final class ClientFamilyMembersData implements Serializable {
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientTransactionData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientTransactionData.java
index be7788df4..5aea56a36 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientTransactionData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/data/ClientTransactionData.java
@@ -27,7 +27,7 @@ import org.apache.fineract.portfolio.paymenttype.data.PaymentTypeData;
import org.joda.time.LocalDate;
@SuppressWarnings("unused")
-public class ClientTransactionData {
+public final class ClientTransactionData {
private final Long id;
private final Long officeId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/serialization/ClientFamilyMemberCommandFromApiJsonDeserializer.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/serialization/ClientFamilyMemberCommandFromApiJsonDeserializer.java
index 2e624cc65..16004b579 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/serialization/ClientFamilyMemberCommandFromApiJsonDeserializer.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/serialization/ClientFamilyMemberCommandFromApiJsonDeserializer.java
@@ -41,7 +41,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
-public class ClientFamilyMemberCommandFromApiJsonDeserializer {
+public final class ClientFamilyMemberCommandFromApiJsonDeserializer {
private final FromJsonHelper fromApiJsonHelper;
private final Set supportedParameters = new HashSet<>(Arrays.asList("id", "clientId", "firstName", "middleName", "lastName",
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateral/data/CollateralData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateral/data/CollateralData.java
index 28cc06bb1..3a4d85a03 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateral/data/CollateralData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collateral/data/CollateralData.java
@@ -26,7 +26,7 @@ import org.apache.fineract.organisation.monetary.data.CurrencyData;
/**
* Immutable data object for Collateral data.
*/
-public class CollateralData {
+public final class CollateralData {
private final Long id;
private final CodeValueData type;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/IndividualClientData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/IndividualClientData.java
index 5eabd1ce9..59803c8bc 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/IndividualClientData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/IndividualClientData.java
@@ -24,7 +24,7 @@ import java.util.Collection;
* Immutable data object for clients with loans due for disbursement or
* collection.
*/
-public class IndividualClientData {
+public final class IndividualClientData {
private final Long clientId;
private final String clientName;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/IndividualCollectionSheetData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/IndividualCollectionSheetData.java
index fca2417d1..63f1bc5dd 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/IndividualCollectionSheetData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/IndividualCollectionSheetData.java
@@ -25,7 +25,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object for collection sheet.
*/
-public class IndividualCollectionSheetData {
+public final class IndividualCollectionSheetData {
@SuppressWarnings("unused")
private final LocalDate dueDate;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/JLGClientData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/JLGClientData.java
index 733c2aca2..ad40290b2 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/JLGClientData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/JLGClientData.java
@@ -25,7 +25,7 @@ import org.apache.fineract.infrastructure.core.data.EnumOptionData;
* Immutable data object for clients with loans due for disbursement or
* collection.
*/
-public class JLGClientData {
+public final class JLGClientData {
private final Long clientId;
private final String clientName;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/JLGCollectionSheetData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/JLGCollectionSheetData.java
index 89bbfc85d..7698c4572 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/JLGCollectionSheetData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/JLGCollectionSheetData.java
@@ -29,7 +29,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object for join liability group's collection sheet.
*/
-public class JLGCollectionSheetData {
+public final class JLGCollectionSheetData {
private final LocalDate dueDate;
private final Collection loanProducts;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/JLGGroupData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/JLGGroupData.java
index 669641eca..05d4a3e35 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/JLGGroupData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/JLGGroupData.java
@@ -24,7 +24,7 @@ import java.util.Collection;
* Immutable data object for groups with clients due for disbursement or
* collection.
*/
-public class JLGGroupData {
+public final class JLGGroupData {
private final Long groupId;
private final String groupName;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/SavingsDueData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/SavingsDueData.java
index 88cd98109..b15684a20 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/SavingsDueData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/collectionsheet/data/SavingsDueData.java
@@ -25,7 +25,7 @@ import org.apache.fineract.organisation.monetary.data.CurrencyData;
* Immutable data object for representing loan with dues (example: loan is due
* for disbursement, repayments).
*/
-public class SavingsDueData {
+public final class SavingsDueData {
@SuppressWarnings("unused")
private final Long savingsId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/fund/data/FundData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/fund/data/FundData.java
index 2ff5ed4b9..989a03d25 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/fund/data/FundData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/fund/data/FundData.java
@@ -23,7 +23,7 @@ import java.io.Serializable;
/**
* Immutable data object to represent fund data.
*/
-public class FundData implements Serializable {
+public final class FundData implements Serializable {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/data/CenterData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/data/CenterData.java
index 8353b7ca0..6666d5ada 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/data/CenterData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/data/CenterData.java
@@ -34,7 +34,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object representing groups.
*/
-public class CenterData implements Serializable {
+public final class CenterData implements Serializable {
private final Long id;
private String accountNo;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/data/StaffCenterData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/data/StaffCenterData.java
index 8a84371b8..f2bcca9fd 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/data/StaffCenterData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/group/data/StaffCenterData.java
@@ -20,7 +20,7 @@ package org.apache.fineract.portfolio.group.data;
import java.util.Collection;
-public class StaffCenterData {
+public final class StaffCenterData {
private final Long staffId;
@SuppressWarnings("unused")
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/data/InterestIncentiveData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/data/InterestIncentiveData.java
index 68cae9aec..412a39f7d 100755
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/data/InterestIncentiveData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/data/InterestIncentiveData.java
@@ -21,7 +21,7 @@ package org.apache.fineract.portfolio.interestratechart.data;
import java.math.BigDecimal;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
-public class InterestIncentiveData {
+public final class InterestIncentiveData {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/data/InterestRateChartData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/data/InterestRateChartData.java
index b0a2910d7..03631669b 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/data/InterestRateChartData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/data/InterestRateChartData.java
@@ -27,7 +27,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object representing a InterestRateChart.
*/
-public class InterestRateChartData {
+public final class InterestRateChartData {
private final Long id;
private final String name;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/data/InterestRateChartSlabData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/data/InterestRateChartSlabData.java
index 950a64d8b..cf07e5097 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/data/InterestRateChartSlabData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/interestratechart/data/InterestRateChartSlabData.java
@@ -29,7 +29,7 @@ import org.apache.fineract.organisation.monetary.data.CurrencyData;
/**
* Immutable data object representing a InterestRateChartSlab.
*/
-public class InterestRateChartSlabData {
+public final class InterestRateChartSlabData {
private final Long id;
private final String description;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/GlimRepaymentTemplate.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/GlimRepaymentTemplate.java
index abec34c1d..7ff7cec23 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/GlimRepaymentTemplate.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/GlimRepaymentTemplate.java
@@ -21,7 +21,7 @@ package org.apache.fineract.portfolio.loanaccount.data;
import java.math.BigDecimal;
-public class GlimRepaymentTemplate {
+public final class GlimRepaymentTemplate {
private final BigDecimal glimId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/GroupLoanIndividualMonitoringAccountData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/GroupLoanIndividualMonitoringAccountData.java
index 5eabd0a71..023100915 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/GroupLoanIndividualMonitoringAccountData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/GroupLoanIndividualMonitoringAccountData.java
@@ -21,7 +21,7 @@ package org.apache.fineract.portfolio.loanaccount.data;
import java.math.BigDecimal;
-public class GroupLoanIndividualMonitoringAccountData {
+public final class GroupLoanIndividualMonitoringAccountData {
private final BigDecimal glimId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java
index ab4e4d7a0..c8714505c 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanAccountData.java
@@ -58,7 +58,7 @@ import org.springframework.util.CollectionUtils;
* Immutable data object representing loan account data.
*/
@SuppressWarnings("unused")
-public class LoanAccountData {
+public final class LoanAccountData {
// basic loan details
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/GroupLoanIndividualMonitoringAccount.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/GroupLoanIndividualMonitoringAccount.java
index 22d50e0df..d33e729a3 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/GroupLoanIndividualMonitoringAccount.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/GroupLoanIndividualMonitoringAccount.java
@@ -33,7 +33,7 @@ import org.apache.fineract.portfolio.group.domain.Group;
@Entity
@Table(name = "glim_accounts", uniqueConstraints = { @UniqueConstraint(columnNames = { "account_number" }, name = "FK_glim_id") })
-public class GroupLoanIndividualMonitoringAccount extends AbstractPersistableCustom {
+public final class GroupLoanIndividualMonitoringAccount extends AbstractPersistableCustom {
@ManyToOne
@JoinColumn(name = "group_id", nullable = false)
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorFundingData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorFundingData.java
index 061f60fc9..6784007e5 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorFundingData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorFundingData.java
@@ -23,7 +23,7 @@ import java.util.Collection;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
import org.apache.fineract.portfolio.account.data.PortfolioAccountData;
-public class GuarantorFundingData {
+public final class GuarantorFundingData {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorTransactionData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorTransactionData.java
index 618709636..f8cd5768a 100755
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorTransactionData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorTransactionData.java
@@ -21,7 +21,7 @@ package org.apache.fineract.portfolio.loanaccount.guarantor.data;
import org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData;
import org.apache.fineract.portfolio.savings.data.DepositAccountOnHoldTransactionData;
-public class GuarantorTransactionData {
+public final class GuarantorTransactionData {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/ObligeeData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/ObligeeData.java
index 992b6a9a6..f2e2f2be1 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/ObligeeData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/ObligeeData.java
@@ -22,7 +22,7 @@ package org.apache.fineract.portfolio.loanaccount.guarantor.data;
import java.math.BigDecimal;
@SuppressWarnings("unused")
-public class ObligeeData {
+public final class ObligeeData {
private final String firstName;
private final String lastName;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/data/LoanScheduleDTO.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/data/LoanScheduleDTO.java
index a33547115..c3fd4ef99 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/data/LoanScheduleDTO.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/data/LoanScheduleDTO.java
@@ -25,7 +25,7 @@ import org.apache.fineract.portfolio.loanaccount.loanschedule.domain.LoanSchedul
/**
* Transfer object to return the schedule after generation of schedule
*/
-public class LoanScheduleDTO {
+public final class LoanScheduleDTO {
private final List installments;
private final LoanScheduleModel loanScheduleModel;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/data/LoanScheduleParams.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/data/LoanScheduleParams.java
index 69543928e..92c37550d 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/data/LoanScheduleParams.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/data/LoanScheduleParams.java
@@ -31,7 +31,7 @@ import org.apache.fineract.portfolio.loanaccount.domain.transactionprocessor.Loa
import org.apache.fineract.portfolio.loanaccount.loanschedule.domain.RecalculationDetail;
import org.joda.time.LocalDate;
-public class LoanScheduleParams {
+public final class LoanScheduleParams {
// Actual period Number as per the schedule
private int periodNumber;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/data/LoanSchedulePeriodData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/data/LoanSchedulePeriodData.java
index 8b1332209..5463f8daf 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/data/LoanSchedulePeriodData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/loanschedule/data/LoanSchedulePeriodData.java
@@ -26,7 +26,7 @@ import org.joda.time.LocalDate;
* Immutable data object that represents a period of a loan schedule.
*
*/
-public class LoanSchedulePeriodData {
+public final class LoanSchedulePeriodData {
private final Integer period;
private final LocalDate fromDate;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/rescheduleloan/data/LoanRescheduleRequestData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/rescheduleloan/data/LoanRescheduleRequestData.java
index 7cd0d9946..18f86807a 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/rescheduleloan/data/LoanRescheduleRequestData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/rescheduleloan/data/LoanRescheduleRequestData.java
@@ -26,7 +26,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object representing loan reschedule request data.
**/
-public class LoanRescheduleRequestData {
+public final class LoanRescheduleRequestData {
private final Long id;
private final Long loanId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/data/LoanProductGuaranteeData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/data/LoanProductGuaranteeData.java
index cbb7eeb33..1c3f608c5 100755
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/data/LoanProductGuaranteeData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/data/LoanProductGuaranteeData.java
@@ -21,7 +21,7 @@ package org.apache.fineract.portfolio.loanproduct.data;
import java.io.Serializable;
import java.math.BigDecimal;
-public class LoanProductGuaranteeData implements Serializable {
+public final class LoanProductGuaranteeData implements Serializable {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/meeting/attendance/data/ClientAttendanceData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/meeting/attendance/data/ClientAttendanceData.java
index db2a6e8f4..4304b8bb9 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/meeting/attendance/data/ClientAttendanceData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/meeting/attendance/data/ClientAttendanceData.java
@@ -23,7 +23,7 @@ import org.apache.fineract.infrastructure.core.data.EnumOptionData;
/**
* Immutable data object representing a ClientAttendance.
*/
-public class ClientAttendanceData {
+public final class ClientAttendanceData {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/meeting/data/MeetingData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/meeting/data/MeetingData.java
index 333cd8eca..7606f4d36 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/meeting/data/MeetingData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/meeting/data/MeetingData.java
@@ -29,7 +29,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object representing a Meeting.
*/
-public class MeetingData {
+public final class MeetingData {
private final Long id;
private final LocalDate meetingDate;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/rate/data/RateData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/rate/data/RateData.java
index 589a0df20..8e421c488 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/rate/data/RateData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/rate/data/RateData.java
@@ -26,7 +26,7 @@ import org.apache.fineract.infrastructure.core.data.EnumOptionData;
/**
* Bowpi GT Created by Jose on 19/07/2017.
*/
-public class RateData implements Serializable {
+public final class RateData implements Serializable {
private Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/ClosingOfSavingsAccounts.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/ClosingOfSavingsAccounts.java
index 40e7cbff7..8a60f6915 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/ClosingOfSavingsAccounts.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/ClosingOfSavingsAccounts.java
@@ -20,7 +20,7 @@ package org.apache.fineract.portfolio.savings.data;
import org.joda.time.LocalDate;
-public class ClosingOfSavingsAccounts {
+public final class ClosingOfSavingsAccounts {
private final transient Integer rowIndex;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountInterestIncentiveData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountInterestIncentiveData.java
index 2d1557ac8..03c6e0da3 100755
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountInterestIncentiveData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountInterestIncentiveData.java
@@ -22,7 +22,7 @@ import java.math.BigDecimal;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
import org.apache.fineract.portfolio.interestratechart.data.InterestIncentiveData;
-public class DepositAccountInterestIncentiveData {
+public final class DepositAccountInterestIncentiveData {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountInterestRateChartData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountInterestRateChartData.java
index 09b2ebbbf..468af49ac 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountInterestRateChartData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountInterestRateChartData.java
@@ -29,7 +29,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object representing a deposit account interest rate chart.
*/
-public class DepositAccountInterestRateChartData {
+public final class DepositAccountInterestRateChartData {
private final Long id;
private final String name;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountInterestRateChartSlabData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountInterestRateChartSlabData.java
index f2fea6bf2..42ab9cb39 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountInterestRateChartSlabData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountInterestRateChartSlabData.java
@@ -31,7 +31,7 @@ import org.apache.fineract.portfolio.interestratechart.data.InterestRateChartSla
/**
* Immutable data object representing deposit accounts Interest rate Slabs.
*/
-public class DepositAccountInterestRateChartSlabData {
+public final class DepositAccountInterestRateChartSlabData {
private final Long id;
private final String description;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountOnHoldTransactionData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountOnHoldTransactionData.java
index 052081452..d401bb94b 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountOnHoldTransactionData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountOnHoldTransactionData.java
@@ -22,7 +22,7 @@ import java.math.BigDecimal;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
import org.joda.time.LocalDate;
-public class DepositAccountOnHoldTransactionData {
+public final class DepositAccountOnHoldTransactionData {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/FixedDepositAccountData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/FixedDepositAccountData.java
index 38a737c7e..95915170e 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/FixedDepositAccountData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/FixedDepositAccountData.java
@@ -36,7 +36,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object representing a Fixed Deposit account.
*/
-public class FixedDepositAccountData extends DepositAccountData {
+public final class FixedDepositAccountData extends DepositAccountData {
private boolean preClosurePenalApplicable;
private BigDecimal preClosurePenalInterest;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/FixedDepositProductData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/FixedDepositProductData.java
index 6d34a84a8..b59532b9d 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/FixedDepositProductData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/FixedDepositProductData.java
@@ -35,7 +35,7 @@ import org.apache.fineract.portfolio.tax.data.TaxGroupData;
/**
* Immutable data object representing a Fixed Deposit product.
*/
-public class FixedDepositProductData extends DepositProductData {
+public final class FixedDepositProductData extends DepositProductData {
// additional fields
private boolean preClosurePenalApplicable;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/GroupSavingsIndividualMonitoringAccountData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/GroupSavingsIndividualMonitoringAccountData.java
index 4d704f0b9..c7d861cce 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/GroupSavingsIndividualMonitoringAccountData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/GroupSavingsIndividualMonitoringAccountData.java
@@ -21,7 +21,7 @@ package org.apache.fineract.portfolio.savings.data;
import java.math.BigDecimal;
-public class GroupSavingsIndividualMonitoringAccountData {
+public final class GroupSavingsIndividualMonitoringAccountData {
private final BigDecimal gsimId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/RecurringDepositAccountData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/RecurringDepositAccountData.java
index bc73f6375..c53ef243a 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/RecurringDepositAccountData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/RecurringDepositAccountData.java
@@ -35,7 +35,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object representing a Recurring Deposit account.
*/
-public class RecurringDepositAccountData extends DepositAccountData {
+public final class RecurringDepositAccountData extends DepositAccountData {
// additional fields
private final boolean preClosurePenalApplicable;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/RecurringDepositProductData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/RecurringDepositProductData.java
index b550c3f36..1be8d15e3 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/RecurringDepositProductData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/RecurringDepositProductData.java
@@ -35,7 +35,7 @@ import org.apache.fineract.portfolio.tax.data.TaxGroupData;
/**
* Immutable data object represent a Recurring Deposit product.
*/
-public class RecurringDepositProductData extends DepositProductData {
+public final class RecurringDepositProductData extends DepositProductData {
private boolean preClosurePenalApplicable;
private BigDecimal preClosurePenalInterest;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountAnnualFeeData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountAnnualFeeData.java
index a83c75774..33b88364e 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountAnnualFeeData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountAnnualFeeData.java
@@ -20,7 +20,7 @@ package org.apache.fineract.portfolio.savings.data;
import org.joda.time.LocalDate;
-public class SavingsAccountAnnualFeeData {
+public final class SavingsAccountAnnualFeeData {
private final Long id;
private final Long accountId;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountData.java
index 77c622241..b2c28069b 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountData.java
@@ -38,7 +38,7 @@ import org.joda.time.LocalDate;
/**
* Immutable data object representing a savings account.
*/
-public class SavingsAccountData implements Serializable {
+public final class SavingsAccountData implements Serializable {
private final Long id;
private final String accountNo;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountTransactionData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountTransactionData.java
index a8681ce0c..da1ffd86f 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountTransactionData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsAccountTransactionData.java
@@ -35,7 +35,7 @@ import org.joda.time.LocalDate;
* Immutable data object representing a savings account transaction.
*/
@SuppressWarnings("unused")
-public class SavingsAccountTransactionData implements Serializable {
+public final class SavingsAccountTransactionData implements Serializable {
private final Long id;
private final SavingsAccountTransactionEnumData transactionType;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsActivation.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsActivation.java
index 48dda824a..fdfe56765 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsActivation.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsActivation.java
@@ -20,7 +20,7 @@ package org.apache.fineract.portfolio.savings.data;
import org.joda.time.LocalDate;
-public class SavingsActivation {
+public final class SavingsActivation {
private final transient Integer rowIndex;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsApproval.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsApproval.java
index 932170e7a..e94952651 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsApproval.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsApproval.java
@@ -20,7 +20,7 @@ package org.apache.fineract.portfolio.savings.data;
import org.joda.time.LocalDate;
-public class SavingsApproval {
+public final class SavingsApproval {
private final transient Integer rowIndex;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsProductData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsProductData.java
index 8adc4c9f5..5937f33ff 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsProductData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/data/SavingsProductData.java
@@ -36,7 +36,7 @@ import org.apache.fineract.portfolio.tax.data.TaxGroupData;
/**
* Immutable data object represent a savings product.
*/
-public class SavingsProductData implements Serializable {
+public final class SavingsProductData implements Serializable {
private final Long id;
private final String name;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/GroupSavingsIndividualMonitoring.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/GroupSavingsIndividualMonitoring.java
index 8001edd1b..202a63f52 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/GroupSavingsIndividualMonitoring.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/GroupSavingsIndividualMonitoring.java
@@ -33,7 +33,7 @@ import org.apache.fineract.portfolio.group.domain.Group;
@Entity
@Table(name = "gsim_accounts", uniqueConstraints = { @UniqueConstraint(columnNames = { "account_number" }, name = "gsim_id") })
-public class GroupSavingsIndividualMonitoring extends AbstractPersistableCustom {
+public final class GroupSavingsIndividualMonitoring extends AbstractPersistableCustom {
@ManyToOne
@JoinColumn(name = "group_id", nullable = false)
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/AnnualCompoundingPeriod.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/AnnualCompoundingPeriod.java
index 3fd24db74..a3426b88b 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/AnnualCompoundingPeriod.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/AnnualCompoundingPeriod.java
@@ -28,7 +28,7 @@ import org.apache.fineract.portfolio.savings.SavingsCompoundingInterestPeriodTyp
import org.apache.fineract.portfolio.savings.SavingsInterestCalculationType;
import org.joda.time.LocalDate;
-public class AnnualCompoundingPeriod implements CompoundingPeriod {
+public final class AnnualCompoundingPeriod implements CompoundingPeriod {
@SuppressWarnings("unused")
private final LocalDateInterval periodInterval;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/BiAnnualCompoundingPeriod.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/BiAnnualCompoundingPeriod.java
index 49e15dffd..09f212938 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/BiAnnualCompoundingPeriod.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/BiAnnualCompoundingPeriod.java
@@ -28,7 +28,7 @@ import org.apache.fineract.portfolio.savings.SavingsCompoundingInterestPeriodTyp
import org.apache.fineract.portfolio.savings.SavingsInterestCalculationType;
import org.joda.time.LocalDate;
-public class BiAnnualCompoundingPeriod implements CompoundingPeriod {
+public final class BiAnnualCompoundingPeriod implements CompoundingPeriod {
@SuppressWarnings("unused")
private final LocalDateInterval periodInterval;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/DailyCompoundingPeriod.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/DailyCompoundingPeriod.java
index 515ae11b6..507d1263a 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/DailyCompoundingPeriod.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/DailyCompoundingPeriod.java
@@ -27,7 +27,7 @@ import org.apache.fineract.portfolio.savings.SavingsCompoundingInterestPeriodTyp
import org.apache.fineract.portfolio.savings.SavingsInterestCalculationType;
import org.joda.time.LocalDate;
-public class DailyCompoundingPeriod implements CompoundingPeriod {
+public final class DailyCompoundingPeriod implements CompoundingPeriod {
private final LocalDateInterval periodInterval;
private final List endOfDayBalances;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/MonthlyCompoundingPeriod.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/MonthlyCompoundingPeriod.java
index 4307165e2..6475ca14b 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/MonthlyCompoundingPeriod.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/MonthlyCompoundingPeriod.java
@@ -28,7 +28,7 @@ import org.apache.fineract.portfolio.savings.SavingsCompoundingInterestPeriodTyp
import org.apache.fineract.portfolio.savings.SavingsInterestCalculationType;
import org.joda.time.LocalDate;
-public class MonthlyCompoundingPeriod implements CompoundingPeriod {
+public final class MonthlyCompoundingPeriod implements CompoundingPeriod {
@SuppressWarnings("unused")
private final LocalDateInterval periodInterval;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/PostingPeriod.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/PostingPeriod.java
index 320d97783..f0f057e91 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/PostingPeriod.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/PostingPeriod.java
@@ -33,7 +33,7 @@ import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction;
import org.joda.time.DateTime;
import org.joda.time.LocalDate;
-public class PostingPeriod {
+public final class PostingPeriod {
private final LocalDateInterval periodInterval;
private final MonetaryCurrency currency;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/QuarterlyCompoundingPeriod.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/QuarterlyCompoundingPeriod.java
index bf54af203..1c316e095 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/QuarterlyCompoundingPeriod.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/domain/interest/QuarterlyCompoundingPeriod.java
@@ -28,7 +28,7 @@ import org.apache.fineract.portfolio.savings.SavingsCompoundingInterestPeriodTyp
import org.apache.fineract.portfolio.savings.SavingsInterestCalculationType;
import org.joda.time.LocalDate;
-public class QuarterlyCompoundingPeriod implements CompoundingPeriod {
+public final class QuarterlyCompoundingPeriod implements CompoundingPeriod {
private final LocalDateInterval periodInterval;
private final List endOfDayBalances;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/search/data/AdHocSearchQueryData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/search/data/AdHocSearchQueryData.java
index bae99cbae..5c3c1fa48 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/search/data/AdHocSearchQueryData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/search/data/AdHocSearchQueryData.java
@@ -23,7 +23,7 @@ import java.util.Collection;
import org.apache.fineract.organisation.office.data.OfficeData;
import org.apache.fineract.portfolio.loanproduct.data.LoanProductData;
-public class AdHocSearchQueryData {
+public final class AdHocSearchQueryData {
@SuppressWarnings("unused")
private final String officeName;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/pockets/data/PocketAccountMappingData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/pockets/data/PocketAccountMappingData.java
index 84aac9839..99f040c80 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/pockets/data/PocketAccountMappingData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/pockets/data/PocketAccountMappingData.java
@@ -23,7 +23,7 @@ import java.util.Collection;
import org.apache.fineract.portfolio.self.pockets.domain.PocketAccountMapping;
@SuppressWarnings("unused")
-public class PocketAccountMappingData {
+public final class PocketAccountMappingData {
private final Collection loanAccounts;
private final Collection savingsAccounts;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/data/ShareProductData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/data/ShareProductData.java
index 1db50074f..0a4038cf6 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/data/ShareProductData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/shareproducts/data/ShareProductData.java
@@ -31,7 +31,7 @@ import org.apache.fineract.organisation.monetary.data.CurrencyData;
import org.apache.fineract.portfolio.charge.data.ChargeData;
import org.apache.fineract.portfolio.products.data.ProductData;
-public class ShareProductData implements ProductData {
+public final class ShareProductData implements ProductData {
private final Long id;
private final String name;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/tax/data/TaxComponentData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/tax/data/TaxComponentData.java
index 9ef50e9b7..0fa29be81 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/tax/data/TaxComponentData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/tax/data/TaxComponentData.java
@@ -27,7 +27,7 @@ import org.apache.fineract.accounting.glaccount.data.GLAccountData;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
import org.joda.time.LocalDate;
-public class TaxComponentData implements Serializable {
+public final class TaxComponentData implements Serializable {
@SuppressWarnings("unused")
private final Long id;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/tax/data/TaxGroupData.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/tax/data/TaxGroupData.java
index 1d618a48f..d42f713b4 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/tax/data/TaxGroupData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/tax/data/TaxGroupData.java
@@ -21,7 +21,7 @@ package org.apache.fineract.portfolio.tax.data;
import java.io.Serializable;
import java.util.Collection;
-public class TaxGroupData implements Serializable {
+public final class TaxGroupData implements Serializable {
private final Long id;
private final String name;
diff --git a/fineract-provider/src/main/java/org/apache/fineract/spm/util/LookupTableMapper.java b/fineract-provider/src/main/java/org/apache/fineract/spm/util/LookupTableMapper.java
index af331328b..5461da085 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/spm/util/LookupTableMapper.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/spm/util/LookupTableMapper.java
@@ -27,7 +27,7 @@ import org.apache.fineract.spm.data.LookupTableEntry;
import org.apache.fineract.spm.domain.LookupTable;
import org.apache.fineract.spm.domain.Survey;
-public class LookupTableMapper {
+public final class LookupTableMapper {
private LookupTableMapper() {
super();
diff --git a/fineract-provider/src/main/java/org/apache/fineract/spm/util/ScorecardMapper.java b/fineract-provider/src/main/java/org/apache/fineract/spm/util/ScorecardMapper.java
index dbf1a4b9b..60f13d2f0 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/spm/util/ScorecardMapper.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/spm/util/ScorecardMapper.java
@@ -31,7 +31,7 @@ import org.apache.fineract.spm.domain.Survey;
import org.apache.fineract.spm.exception.SurveyResponseNotAvailableException;
import org.apache.fineract.useradministration.domain.AppUser;
-public class ScorecardMapper {
+public final class ScorecardMapper {
private ScorecardMapper() {
super();
diff --git a/fineract-provider/src/main/java/org/apache/fineract/spm/util/SurveyMapper.java b/fineract-provider/src/main/java/org/apache/fineract/spm/util/SurveyMapper.java
index c7dd8ce59..d12055faa 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/spm/util/SurveyMapper.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/spm/util/SurveyMapper.java
@@ -29,7 +29,7 @@ import org.apache.fineract.spm.domain.Question;
import org.apache.fineract.spm.domain.Response;
import org.apache.fineract.spm.domain.Survey;
-public class SurveyMapper {
+public final class SurveyMapper {
private SurveyMapper() {
super();
diff --git a/fineract-provider/src/main/java/org/apache/fineract/template/data/TemplateData.java b/fineract-provider/src/main/java/org/apache/fineract/template/data/TemplateData.java
index 4ce312e55..b0830699c 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/template/data/TemplateData.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/template/data/TemplateData.java
@@ -26,7 +26,7 @@ import org.apache.fineract.template.domain.Template;
import org.apache.fineract.template.domain.TemplateEntity;
import org.apache.fineract.template.domain.TemplateType;
-public class TemplateData {
+public final class TemplateData {
@SuppressWarnings("unused")
private final List