summaryrefslogtreecommitdiff
path: root/src/main/java/com/p4square/ccbapi/serializer/PhoneFormSerializer.java
blob: 360e330d09ed6382f2f6fc3cc4ea6c536092cfb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.p4square.ccbapi.serializer;

import com.p4square.ccbapi.model.Phone;

/**
 * Encode a Phone object as form data for CCB.
 */
public class PhoneFormSerializer extends AbstractFormSerializer<Phone> {
    @Override
    public void encode(final Phone phone, final FormBuilder builder) {
        // Sanity check.
        if (phone.getType() == null) {
            throw new IllegalArgumentException("Phone type cannot be null");
        }

        final String key;
        if (phone.getType() == Phone.Type.EMERGENCY) {
            key = "phone_emergency";
        } else {
            key = phone.getType().toString().toLowerCase() + "_phone";
        }
        builder.appendField(key, phone.getNumber());
    }
}