/*
* (c) Copyright Reserved EVRYTHNG Limited 2016. All rights reserved.
* Use of this material is subject to license.
* Copying and unauthorised use of this material strictly prohibited.
*/
package com.evrythng.thng.resource.model.li;
import com.evrythng.thng.resource.model.core.DurableResourceModel;
import com.evrythng.thng.resource.model.core.EvrythngType;
import java.util.Map;
/**
* URL binding model.
*/
public abstract class AbstractUrlBinding extends DurableResourceModel {
private static final long serialVersionUID = 8831270162102743074L;
public static final String EVRYTHNGID_TAG = "{evrythngId}";
public static final String SHORTID_TAG = "{shortId}";
private String shortDomain;
private String defaultRedirectUrl;
private String redirectUrl;
private Map<String, Object> redirectionContext;
private EvrythngType type;
private String evrythngUrl;
protected AbstractUrlBinding() {
}
protected AbstractUrlBinding(final String shortDomain) {
this.shortDomain = shortDomain;
}
protected AbstractUrlBinding(final AbstractUrlBinding that) {
this(that.shortDomain);
this.setDefaultRedirectUrl(that.getDefaultRedirectUrl());
this.setEvrythngUrl(that.getEvrythngUrl());
this.setType(that.getType());
this.setId(that.getId());
this.setCreatedAt(that.getCreatedAt());
this.setUpdatedAt(that.getUpdatedAt());
this.setCustomFields(that.getCustomFields());
this.setTags(that.getTags());
}
public String getDefaultRedirectUrl() {
return defaultRedirectUrl;
}
public void setDefaultRedirectUrl(final String defaultRedirectUrl) {
this.defaultRedirectUrl = defaultRedirectUrl;
}
public void setRedirectUrl(final String redirectUrl) {
this.redirectUrl = redirectUrl;
}
public String getRedirectUrl() {
return (redirectUrl != null) ? redirectUrl : defaultRedirectUrl;
}
public String getShortDomain() {
return shortDomain;
}
public void setShortDomain(final String shortDomain) {
this.shortDomain = shortDomain;
}
/**
* @return the type
*/
public EvrythngType getType() {
return type;
}
/**
* @param type
* the type to set
*/
public void setType(final EvrythngType type) {
this.type = type;
}
/**
* @return the evrythngUrl
*/
public String getEvrythngUrl() {
return evrythngUrl;
}
/**
* @param evrythngUrl
* the evrythngUrl to set
*/
public void setEvrythngUrl(final String evrythngUrl) {
this.evrythngUrl = evrythngUrl;
}
public Map<String, Object> getRedirectionContext() {
return redirectionContext;
}
public void setRedirectionContext(final Map<String, Object> redirectionContext) {
this.redirectionContext = redirectionContext;
}
}