package org.wso2.carbon.device.mgt.ios.payload.dto;

public class CheckInMessageType {

    public enum MessageType {

        CHECKOUT("CheckOut"),
        TOKEN_UPDATE("TokenUpdate"),
        AUTHENTICATE("Authenticate");

        private MessageType(String value) {
            this.value = value;
        }

        private String value;

        public String getValue() {
            return value;
        }

        public void setValue(String value) {
            this.value = value;
        }

        public static MessageType fromString(String value) {

            if (CHECKOUT.getValue().equals(value)) {
                return CHECKOUT;
            } else if (TOKEN_UPDATE.getValue().equals(value)) {
                return TOKEN_UPDATE;
            } else if (AUTHENTICATE.getValue().equals(value)) {
                return AUTHENTICATE;
            }

            return null;
        }
    }

	private String pushMagic;
	private String token;
	private String topic;
	private String deviceIdentifier;
	private String unlockToken;
    private MessageType messageType;

	public String getPushMagic() {
		return pushMagic;
	}

	public void setPushMagic(String pushMagic) {
		this.pushMagic = pushMagic;
	}

	public String getToken() {
		return token;
	}

	public void setToken(String token) {
		this.token = token;
	}

	public String getTopic() {
		return topic;
	}

	public void setTopic(String topic) {
		this.topic = topic;
	}

	public String getDeviceIdentifier() {
		return deviceIdentifier;
	}

	public void setDeviceIdentifier(String deviceIdentifier) {
		this.deviceIdentifier = deviceIdentifier;
	}

	public String getUnlockToken() {
		return unlockToken;
	}

	public void setUnlockToken(String unlockToken) {
		this.unlockToken = unlockToken;
	}

    public MessageType getMessageType() {
        return messageType;
    }

    public void setMessageType(MessageType messageType) {
        this.messageType = messageType;
    }

}
