/**
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package org.mifosplatform.portfolio.client.data;
import java.util.Collection;
import org.mifosplatform.infrastructure.codes.data.CodeValueData;
/**
* Immutable data object represent client identity data.
*/
public class ClientIdentifierData {
private final Long id;
private final Long clientId;
private final CodeValueData documentType;
private final String documentKey;
private final String description;
@SuppressWarnings("unused")
private final Collection<CodeValueData> allowedDocumentTypes;
public static ClientIdentifierData singleItem(final Long id, final Long clientId, final CodeValueData documentType,
final String documentKey, final String description) {
return new ClientIdentifierData(id, clientId, documentType, documentKey, description, null);
}
public static ClientIdentifierData template(final Collection<CodeValueData> codeValues) {
return new ClientIdentifierData(null, null, null, null, null, codeValues);
}
public static ClientIdentifierData template(final ClientIdentifierData data, final Collection<CodeValueData> codeValues) {
return new ClientIdentifierData(data.id, data.clientId, data.documentType, data.documentKey, data.description, codeValues);
}
public ClientIdentifierData(final Long id, final Long clientId, final CodeValueData documentType, final String documentKey,
final String description, final Collection<CodeValueData> allowedDocumentTypes) {
this.id = id;
this.clientId = clientId;
this.documentType = documentType;
this.documentKey = documentKey;
this.description = description;
this.allowedDocumentTypes = allowedDocumentTypes;
}
}