All Classes and Interfaces

Class
Description
 
Abstract implementation of FromCommandJsonDeserializer that can be extended for specific commands.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Enum representation of loan status states.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when client resources are not found.
 
 
 
 
 
 
 
Example AccountNumberGenerator for clients that takes an entities auto generated database id and zero fills it ensuring the identifier is always of a given maxLength.
 
 
 
 
 
 
 
Immutable data object representing a summary of various accounts.
 
 
 
 
 
 
 
Enum representation of loan status states.
 
 
 
 
 
 
 
 
 
 
 
 
Enum representation of loan status states.
 
 
 
 
 
 
 
 
 
 
Implements CommandStrategy to handle activation of a pending client.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object represent note or case information AdHocData
 
Enum of all parameters passed in while creating/updating a AdHocQuery
A RuntimeException thrown when AdHoc resources are not found.
 
 
 
 
 
 
 
 
 
Implements CommandStrategy to adjust a charge using external id.
Implements CommandStrategy to adjust a charge.
Implements CommandStrategy to adjust a transaction by external id.
Implements CommandStrategy to adjust a transaction.
 
 
 
 
 
 
 
 
 
 
 
 
Implements CommandStrategy and applies a new loan on an existing client.
 
Implements CommandStrategy and applies a new savings on an existing client.
 
Implements CommandStrategy to handle approval of a pending loan.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An enumeration of ClientAttendance type.
Immutable data object representing client data.
 
 
 
 
 
Immutable data object representing audit search results.
Immutable data object for authentication.
Immutable data object for authentication.
 
 
Created by sanyam on 13/8/17.
 
 
 
 
A JDBC implementation of AuthTenantDetailsService for loading a tenants details by a tenantIdentifier.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object returned for loan-officer bulk transfer screens.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when CalendarInstance resources are not found.
 
Wrapper for CalendarInstanceRepository that is responsible for checking if CalendarInstance is returned when using findOne repository method and throwing an appropriate not found exception.
A RuntimeException thrown when Calendar resources are not found.
 
 
 
Wrapper for CalendarRepository that is responsible for checking if Calendar is returned when using findOne repository method and throwing an appropriate not found exception.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when group resources are not found.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object representing a ClientAttendance.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
enum of reasons of why Collateral cannot be waived
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable command for creating or updating details of a client identifier.
Implementation of FromApiJsonDeserializer for ClientIdentifierCommandFromApiJsonDeserializer 's.
Immutable data object represent client identity data.
A RuntimeException thrown when client Identifier resources are not found.
 
 
 
 
 
 
 
 
A RuntimeException thrown when attempting to delete clients
 
A RuntimeException thrown when clientNonPerson resources are not found.
A RuntimeException thrown when clientNonPerson resources are not found.
 
Wrapper for ClientNonPersonRepository that adds NULL checking and Error handling capabilities
 
 
Immutable command used for create or update of notes.
 
 
 
 
 
 
Wrapper for ClientRepository that adds NULL checking and Error handling capabilities
 
Created by Cieyou on 3/18/14.
 
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when attempting to delete clients
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deserializer for code JSON to validate API request.
 
 
Deserializer for code JSON to validate API request.
 
 
 
 
 
 
 
 
 
enum of reasons of why Loan Charge cannot be waived
 
 
enum of reasons of why Collateral cannot be waived
enum of reasons of why Loan Charge cannot be waived
 
enum of reasons of why Loan Charge cannot be waived
Immutable command for creating or updating details of a Collateral.
Implementation of FromApiJsonDeserializer for CollateralCommand's.
 
 
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when guarantor resources are not found.
 
 
 
 
 
 
 
Implements CommandStrategy and Collect Charges for a Loan by external id.
Implements CommandStrategy and Collect Charges for a Loan.
 
Implementation of FromApiJsonDeserializer for CollectionSheetBulkDisbursalCommand's.
Implementation of FromApiJsonDeserializer for CollectionSheetBulkRepaymentCommand's.
 
 
 
 
 
 
 
 
 
 
 
Deprecated.
 
 
 
 
 
 
 
Task decorator to ensure proper thread context propagation and cleanup
 
 
 
 
 
 
 
 
 
Implements CommandStrategy and Create Charge for a Loan by external id.
Implements CommandStrategy and Create Charge for a Loan.
 
 
Implements CommandStrategy to handle creation of a new client.
 
 
 
 
 
 
 
 
Implements CommandStrategy and creates a new datatable entry for a given loan.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Implements CommandStrategy and creates a loan interest pause by external id.
Implements CommandStrategy and creates a loan interest pause by loan id.
Implements CommandStrategy and applies a new reschedule loan request on an existing loan.
 
 
 
 
 
 
 
 
 
Bowpi GT Created by Jose on 19/07/2017.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Implements CommandStrategy and handles the creation of a transaction for a Loan using External Id.
Implements CommandStrategy and handles the creation of a transaction for a Loan.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Implements CommandStrategy and deletes a new datatable entry for a given entity.
Implements CommandStrategy and deletes a new datatable entry for a given entity.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This class can be used for IntelliJ debugging purposes to access the current transaction bound EntityManager instance.
 
 
 
 
Implements CommandStrategy to handle disburse of a loan.
 
 
 
 
 
 
 
A RuntimeException thrown when a client identifier of the particular type is already present
Returns HTTP Request headers.
 
 
 
 
 
 
 
Created with IntelliJ IDEA.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object representing an Email configuration.
A RuntimeException thrown when a code is not found.
 
 
 
 
 
 
 
Immutable data object representing a SMS message.
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when a code is not found.
 
 
 
 
 
 
 
 
A RuntimeException thrown when datatable resources are not found.
A RuntimeException thrown when datatable resources are not found.
A RuntimeException thrown when datatable resources are not found.
 
 
 
A RuntimeException thrown when report resources are not found.
 
 
 
 
Immutable data object for role data.
 
 
 
A customizer interface for the EntityManager factories.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Enum of all parameters passed in while creating/updating an entity access
 
A RuntimeException thrown when office resources are not found.
 
 
 
Wrapper for FineractEntityAccessRepository that adds NULL checking and Error handling capabilities
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Base Spring Configuration.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Created by Cieyou on 3/12/14.
 
 
A RuntimeException thrown when fund resources are not found.
 
 
 
 
 
 
 
 
Constants used on GCM service communication.
 
 
 
 
 
 
 
 
Implements CommandStrategy to retrieve a charge by external id.
Implements CommandStrategy to retrieve a charge by id.
 
Implements CommandStrategy and get datatable by appTableId by data table id.
Implements CommandStrategy and get datatable by appTableId.
Implements CommandStrategy and get datatable entry by query.
 
 
Implements CommandStrategy and get loan by external id.
Implements CommandStrategy and get loan by id.
Implements CommandStrategy and retrieves loan interest pauses by external id.
Implements CommandStrategy and retrieves loan interest pauses by loan id.
Implements CommandStrategy to retrieve a transaction by external id.
Implements CommandStrategy to retrieve a transaction by id.
 
 
 
 
 
Implementation of FromApiJsonDeserializer for UpdateGlobalConfigurationCommand's.
 
 
A RuntimeException thrown when global configuration properties are not found.
 
 
Wrapper for GlobalConfigurationRepository that adds NULL checking and Error handling capabilities
 
 
 
 
 
 
A RuntimeException thrown when group resources are not found.
 
 
 
 
 
 
Immutable data object representing groups.
A RuntimeException thrown when group resources are not found.
 
 
 
 
 
A RuntimeException thrown when attempting to delete groups.
A RuntimeException thrown when group resources are not found.
 
 
 
Wrapper for GroupRepository that adds NULL checking and Error handling capabilities
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object for loan accounts.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when holiday resources are not found.
 
 
 
Wrapper for HolidayRepository that adds NULL checking and Error handling capabilities
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object for clients with loans due for disbursement or collection.
Immutable data object for collection sheet.
Immutable data object for extracting flat data for joint liability group's collection sheet.
Tasklet to initialize the thread local context for job execution
 
 
 
 
 
 
 
 
 
 
 
 
Channel interceptor for Spring Batch message handling that ensures ThreadLocal context is properly initialized before message handling and cleaned up afterwards
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when a code is not found.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AbstractPlatformDomainRuleException thrown an action to transition a loan from one state to another violates a domain rule.
AbstractPlatformDomainRuleException thrown an action to transition a loan from one state to another violates a domain rule.
AbstractPlatformDomainRuleException thrown when parentGroup'd level is not equal to parent level of the levelid param,.
AbstractPlatformDomainRuleException thrown when office mismatch occurs
Exception thrown when GCM returned an error due to an invalid request.
This utility provides methods to either convert an IPv4 address to its long format or a 32bit dotted format.
 
 
 
 
 
 
 
 
 
Immutable data object for clients with loans due for disbursement or collection.
Immutable data object for join liability group's collection sheet.
Immutable data object for extracting flat data for joint liability group's collection sheet.
Immutable data object for groups with clients due for disbursement or collection.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when Job resources are not found.
 
 
 
 
 
Service class to create and load batch jobs to Scheduler using SchedulerFactoryBean ,MethodInvokingJobDetailFactoryBean and CronTriggerFactoryBean
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Created by Cieyou on 3/12/14.
Created by Cieyou on 3/12/14.
Created by Cieyou on 3/12/14.
Created by Cieyou on 3/11/14.
 
Created by Cieyou on 3/12/14.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Sorting the loan values based on loan status giving priority to active loans
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object for representing loan with dues (example: loan is due for disbursement, repayments).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Implements CommandStrategy to handle approval of a pending loan by its external id.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object representing a Meeting.
 
A RuntimeException thrown when Meeting date violates a domain rule.
A RuntimeException thrown when Calendar resources are not found.
A RuntimeException thrown when Meeting resources are not found.
AbstractPlatformDomainRuleException thrown when meeting is captured against not supported resource.
 
 
 
Wrapper for MeetingRepository that is responsible for checking if Meeting is returned when using findOne repository method and throwing an appropriate not found exception.
 
 
 
GCM message.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Implements CommandStrategy to handle any updates to the loan application.
Implements CommandStrategy to handle any updates to the loan application.
 
Service to initialize MoneyHelper configurations for multi-tenant environments.
Service to initialize MoneyHelper for all tenants during application startup.
Result of a GCM multicast message request .
 
 
 
 
 
 
 
 
Immutable command used for create or update of notes.
Implementation of FromApiJsonDeserializer for NoteCommand 's.
A RuntimeException thrown when note resources are not found.
 
 
 
A RuntimeException thrown when Note does not support a resource.
 
Created by Chirag Gupta on 12/29/17.
 
 
 
 
 
GCM message notification part.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when valid api request end up violating some domain rule.
Deserializer of JSON for office API.
 
 
 
 
 
 
 
 
A RuntimeException thrown when office transaction resources are not found.
 
 
 
 
 
 
 
A RuntimeException thrown when Job execution is in progress.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object for role data.
A RuntimeException thrown when role resources are not found.
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when permission is attempted to be set as maker-checker enabled.
A RuntimeException thrown when permission resources are not found.
 
 
 
 
Immutable command for updating permissions (initially maker-checker).
Implementation of FromApiJsonDeserializer for PermissionsCommand's.
 
 
 
 
 
Immutable data object representing platform API request used for logging/debugging.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Created by Cieyou on 3/11/14.
 
 
Created by Cieyou on 3/11/14.
 
 
 
 
Immutable data object for application user data.
 
 
 
 
 
 
 
A RuntimeException thrown when no product mixes found with the productId.
 
 
 
 
 
 
A RuntimeException thrown when loan product resources are not found.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Bowpi GT Created by Jose on 24/07/2017.
 
Bowpi GT Created by Jose on 19/07/2017.
 
 
 
 
 
Bowpi GT Created by Jose on 19/07/2017.
Bowpi GT Created by Jose on 19/07/2017.
Bowpi GT Rate repository to save on m_rate table (custom change for Credi Chapin) Created by Jose on 19/07/2017.
 
 
Bowpi GT Created by Jose on 19/07/2017.
Bowpi GT Created by Jose on 19/07/2017.
 
 
 
Created by Cieyou on 3/12/14.
 
 
 
Created by Cieyou on 2/27/14.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Created by Cieyou on 3/12/14.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object representing report mailing job configuration data.
A RuntimeException thrown when report mailing job configuration resources are not found.
 
 
 
 
Immutable data object representing report mailing job data.
 
 
 
Immutable data object representing report mailing job email data.
 
 
A RuntimeException thrown when report mailing job resources are not found.
 
 
 
 
 
 
 
Immutable data object representing report mailing job run history data.
A RuntimeException thrown when report mailing job run history resources are not found.
 
 
 
 
Immutable data object represent the timeline events of a report mailing job (creation)
 
 
 
A RuntimeException thrown when report resources are not found.
 
A RuntimeException thrown when report resources are not found.
 
 
 
 
 
A wrapper class for the ReportRepository that provides a method that returns a Report entity if it exists, else throws "ReportNotFoundException" exception if the Report does not exist
 
 
 
 
 
A RuntimeException that is thrown in the case where a user does not have sufficient authorization to execute operation on platform.
 
 
Model representing a survey response option for internal mapping
 
Result of a GCM message request that returned HTTP status code 200.
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when role resources are not found.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object for representing loan with dues (example: loan is due for disbursement, repayments).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Global job Listener class to set Tenant details to ThreadLocalContextUtil for batch Job and stores the batch job status to database after the execution
 
 
Global job Listener class to Stop the temporary scheduler once job execution completes
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Helper class to send messages to the GCM service using an API Key.
 
 
Fineract main() application which launches Fineract in an embedded Tomcat HTTP (using Spring Boot).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object represent savings account status enumerations.
Enum representation of ShareAccount status states.
 
 
 
 
 
 
 
 
 
 
 
An enumeration of supported calendar periods used in savings.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Created by Stefan on 4-7-2016.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Immutable data object representing a SMS message.
 
 
Immutable data object representing the API request body sent in the POST request to the "/queue" resource
Immutable data object representing the API request body sent in the POST request to the "/report" resource
Immutable data object representing an outbound SMS message API response data
 
Immutable data object representing an outbound SMS message delivery report data
 
 
Scheduled Job service interface for SMS message
Scheduled job services that send SMS messages and get delivery reports for the sent SMS messages
 
A RuntimeException thrown when a code is not found.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Wrapper around spring security's SecurityContext for extracted the current authenticated AppUser.
 
 
 
 
 
 
 
 
 
 
 
Wrapper for StaffRepository that adds NULL checking and Error handling capabilities
 
A RuntimeException thrown when staff resources are not found.
 
 
 
 
 
 
 
 
Immutable data object representing a savings account.
 
 
 
 
 
 
 
A RuntimeException thrown when loan resources are not found.
Enum representation of loan status states.
 
 
 
 
Enum representation of loan status states.
Enum representation of loan status states.
 
 
 
 
 
 
 
 
 
 
 
 
Created by Cieyou on 2/27/14.
 
Created by Cieyou on 2/27/14.
Created by Cieyou on 2/27/14.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A customised version of spring security's BasicAuthenticationFilter.
Used in securityContext.xml as implementation of spring security's UserDetailsService.
 
 
A service that picks up on tenants that are configured to auto-update their specific schema on application startup.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AbstractPlatformDomainRuleException thrown when not supported loan template type is sent.
enum of reasons for invalid Journal Entry
 
 
 
 
 
 
This filter is responsible for handling two-factor authentication.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Implements CommandStrategy and updates the information of an existing client.
 
 
 
 
 
 
 
 
 
 
 
 
Implements CommandStrategy and updates a datatable entry for a given entity.
Implements CommandStrategy and updates a datatable entry for a given entity.
 
 
 
 
 
 
 
 
 
 
Immutable command for updating global configuration settings.
 
 
 
 
 
 
 
 
Created by Cieyou on 3/12/14.
 
Implements CommandStrategy and updates a loan interest pause by external id.
Implements CommandStrategy and updates a loan interest pause by loan id.
 
 
 
 
 
 
 
 
 
 
 
 
 
Bowpi GT Created by Jose on 19/07/2017.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when user resources are not found.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A RuntimeException thrown when Calendar resources are not found.
 
 
 
Wrapper for WorkingDaysRepository that adds NULL checking and Error handling capabilities
 
 
 
Created by Cieyou on 3/12/14.
Created by Cieyou on 3/12/14.
Created by Cieyou on 3/13/14.
Created by Cieyou on 3/13/14.