![JAR search and dependency download from the Maven repository](/logo.png)
com.emv.qrcode.model.cpm.ConsumerPresentedMode Maven / Gradle / Ivy
package com.emv.qrcode.model.cpm;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.Hex;
import com.emv.qrcode.core.model.cpm.BERTemplate;
import lombok.Getter;
import lombok.Setter;
@Getter
public class ConsumerPresentedMode implements Serializable {
private static final long serialVersionUID = -1395429978639674565L;
// Payload Format Indicator
@Setter
private PayloadFormatIndicator payloadFormatIndicator;
// Application Template
private final List applicationTemplates = new LinkedList<>();
// Common Data Template
@Setter
private CommonDataTemplate commonDataTemplate;
// Other template
private final List> otherTemplates = new LinkedList<>();
public void addApplicationTemplate(final ApplicationTemplate applicationTemplate) {
applicationTemplates.add(applicationTemplate);
}
public void addOtherTemplate(final BERTemplate otherTemplate) {
otherTemplates.add(otherTemplate);
}
public byte[] getBytes() throws IOException {
try (final ByteArrayOutputStream out = new ByteArrayOutputStream()) {
if (Objects.nonNull(payloadFormatIndicator)) {
out.write(payloadFormatIndicator.getBytes());
}
for (final BERTemplate applicationTemplate : applicationTemplates) {
out.write(applicationTemplate.getBytes());
}
if (Objects.nonNull(commonDataTemplate)) {
out.write(commonDataTemplate.getBytes());
}
for (final BERTemplate otherTemplate : otherTemplates) {
out.write(otherTemplate.getBytes());
}
return out.toByteArray();
}
}
public String toBase64() throws IOException {
return Base64.encodeBase64String(getBytes());
}
public String toHex() throws IOException {
return Hex.encodeHexString(getBytes(), false);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy