// Path: stickypunch-pushpackage/src/main/java/com/comandante/pushpackage/jackson/model/Website.java
// public class Website {
//     /*{
//     "websiteName": "Crunchy Punch",
//     "websitePushID": "web.com.purplestickypunch.demo",
//     "allowedDomains": ["https://purplestickypunch.com"]
//     "urlFormatString": "https://purplestickypunch.com/notificationreceived",
//     "authenticationToken": "8c7d540d-b440-4ab8-9d3a-e8f8252dea25",
//     "webServiceURL": "https://purplestickypunch.com/push"
//     }*/
//     private String websiteName;
//     private String websitePushId;
//     private List<String> allowedDomains;
//     private String urlFormatString;
//     private String authenticationToken;
//     private String webServiceUrl;
// 
//     public Website(String websiteName, String websitePushId, List<String> allowedDomains, String urlFormatString, String authenticationToken, String webServiceUrl) {
//         this.websiteName = websiteName;
//         this.websitePushId = websitePushId;
//         this.allowedDomains = allowedDomains;
//         this.urlFormatString = urlFormatString;
//         this.authenticationToken = authenticationToken;
//         this.webServiceUrl = webServiceUrl;
//     }
// 
//     public String getWebServiceUrl() {
//         return webServiceUrl;
//     }
// 
//     public void setWebServiceUrl(String webServiceUrl) {
//         this.webServiceUrl = webServiceUrl;
//     }
// 
//     public String getAuthenticationToken() {
//         return authenticationToken;
//     }
// 
//     public void setAuthenticationToken(String authenticationToken) {
//         this.authenticationToken = authenticationToken;
//     }
// 
//     public String getUrlFormatString() {
//         return urlFormatString;
//     }
// 
//     public void setUrlFormatString(String urlFormatString) {
//         this.urlFormatString = urlFormatString;
//     }
// 
//     public List<String> getAllowedDomains() {
//         return allowedDomains;
//     }
// 
//     public void setAllowedDomains(List<String> allowedDomains) {
//         this.allowedDomains = allowedDomains;
//     }
// 
//     public String getWebsitePushId() {
//         return websitePushId;
//     }
// 
//     public void setWebsitePushId(String websitePushId) {
//         this.websitePushId = websitePushId;
//     }
// 
//     public String getWebsiteName() {
//         return websiteName;
//     }
// 
//     public void setWebsiteName(String websiteName) {
//         this.websiteName = websiteName;
//     }
// }


import com.comandante.pushpackage.jackson.model.Website;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
import java.io.IOException;
package com.comandante.pushpackage.jackson;



public class WebsiteSerializer extends JsonSerializer<Website> {

    public static final WebsiteSerializer INSTANCE = new WebsiteSerializer();

    private WebsiteSerializer(){}

    @Override
    public void serialize(Website value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
        jgen.writeStartObject();
        jgen.writeStringField("websiteName", value.getWebsiteName());
        jgen.writeStringField("websitePushID", value.getWebsitePushId());
        jgen.writeArrayFieldStart("allowedDomains");
        for (String allowedDomain: value.getAllowedDomains()) {
            jgen.writeString(allowedDomain);
        }
// Path: stickypunch-pushpackage/src/main/java/com/comandante/pushpackage/jackson/model/Website.java
// public class Website {
//     /*{
//     "websiteName": "Crunchy Punch",
//     "websitePushID": "web.com.purplestickypunch.demo",
//     "allowedDomains": ["https://purplestickypunch.com"]
//     "urlFormatString": "https://purplestickypunch.com/notificationreceived",
//     "authenticationToken": "8c7d540d-b440-4ab8-9d3a-e8f8252dea25",
//     "webServiceURL": "https://purplestickypunch.com/push"
//     }*/
//     private String websiteName;
//     private String websitePushId;
//     private List<String> allowedDomains;
//     private String urlFormatString;
//     private String authenticationToken;
//     private String webServiceUrl;
// 
//     public Website(String websiteName, String websitePushId, List<String> allowedDomains, String urlFormatString, String authenticationToken, String webServiceUrl) {
//         this.websiteName = websiteName;
//         this.websitePushId = websitePushId;
//         this.allowedDomains = allowedDomains;
//         this.urlFormatString = urlFormatString;
//         this.authenticationToken = authenticationToken;
//         this.webServiceUrl = webServiceUrl;
//     }
// 
//     public String getWebServiceUrl() {
//         return webServiceUrl;
//     }
// 
//     public void setWebServiceUrl(String webServiceUrl) {
//         this.webServiceUrl = webServiceUrl;
//     }
// 
//     public String getAuthenticationToken() {
//         return authenticationToken;
//     }
// 
//     public void setAuthenticationToken(String authenticationToken) {
//         this.authenticationToken = authenticationToken;
//     }
// 
//     public String getUrlFormatString() {
//         return urlFormatString;
//     }
// 
//     public void setUrlFormatString(String urlFormatString) {
//         this.urlFormatString = urlFormatString;
//     }
// 
//     public List<String> getAllowedDomains() {
//         return allowedDomains;
//     }
// 
//     public void setAllowedDomains(List<String> allowedDomains) {
//         this.allowedDomains = allowedDomains;
//     }
// 
//     public String getWebsitePushId() {
//         return websitePushId;
//     }
// 
//     public void setWebsitePushId(String websitePushId) {
//         this.websitePushId = websitePushId;
//     }
// 
//     public String getWebsiteName() {
//         return websiteName;
//     }
// 
//     public void setWebsiteName(String websiteName) {
//         this.websiteName = websiteName;
//     }
// }


// Path: stickypunch-pushpackage/src/main/java/com/comandante/pushpackage/jackson/WebsiteSerializer.java
import com.comandante.pushpackage.jackson.model.Website;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
import java.io.IOException;

package com.comandante.pushpackage.jackson;



public class WebsiteSerializer extends JsonSerializer<Website> {

    public static final WebsiteSerializer INSTANCE = new WebsiteSerializer();

    private WebsiteSerializer(){}

    @Override
    public void serialize(Website value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
        jgen.writeStartObject();
        jgen.writeStringField("websiteName", value.getWebsiteName());
        jgen.writeStringField("websitePushID", value.getWebsitePushId());
        jgen.writeArrayFieldStart("allowedDomains");
        for (String allowedDomain: value.getAllowedDomains()) {
            jgen.writeString(allowedDomain);
        }
        jgen.writeEndArray();