/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.activemq.artemis.rest.queue.push.xml;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@XmlRootElement(name = "push-registration")
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlType(propOrder = {"enabled", "destination", "durable", "selector", "target", "maxRetries", "retryWaitMillis", "disableOnFailure", "authenticationMechanism", "headers", "sessionCount"})
public class PushRegistration implements Serializable {
private static final long serialVersionUID = -2749818399978544262L;
private String id;
private boolean durable;
private XmlLink target;
private Authentication authenticationMechanism;
private List<XmlHttpHeader> headers = new ArrayList<>();
private String destination;
private Object loadedFrom;
private String selector;
private long retryWaitMillis = 1000;
private boolean disableOnFailure;
private int maxRetries = 10;
private boolean enabled = true;
private int sessionCount = 1;
@XmlElement
public int getMaxRetries() {
return maxRetries;
}
public void setMaxRetries(int maxRetries) {
this.maxRetries = maxRetries;
}
@XmlElement
public long getRetryWaitMillis() {
return retryWaitMillis;
}
public void setRetryWaitMillis(long retryWaitMillis) {
this.retryWaitMillis = retryWaitMillis;
}
@XmlElement
public boolean isDisableOnFailure() {
return disableOnFailure;
}
public void setDisableOnFailure(boolean disableOnFailure) {
this.disableOnFailure = disableOnFailure;
}
@XmlElement
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
@XmlTransient
public Object getLoadedFrom() {
return loadedFrom;
}
public void setLoadedFrom(Object loadedFrom) {
this.loadedFrom = loadedFrom;
}
@XmlAttribute
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@XmlElement
public String getDestination() {
return destination;
}
public void setDestination(String destination) {
this.destination = destination;
}
@XmlElement
public boolean isDurable() {
return durable;
}
public void setDurable(boolean durable) {
this.durable = durable;
}
public String getSelector() {
return selector;
}
public void setSelector(String selector) {
this.selector = selector;
}
@XmlElementRef
public XmlLink getTarget() {
return target;
}
public void setTarget(XmlLink target) {
this.target = target;
}
@XmlElementRef
public Authentication getAuthenticationMechanism() {
return authenticationMechanism;
}
public void setAuthenticationMechanism(Authentication authenticationMechanism) {
this.authenticationMechanism = authenticationMechanism;
}
@XmlElementRef
public List<XmlHttpHeader> getHeaders() {
return headers;
}
public void setHeaders(List<XmlHttpHeader> headers) {
this.headers = headers;
}
@XmlElement
public int getSessionCount() {
return sessionCount;
}
public void setSessionCount(int sessionCount) {
this.sessionCount = sessionCount;
}
@Override
public String toString() {
return "PushRegistration{" +
"id='" + id + '\'' +
", durable=" + durable +
", target=" + target +
", authenticationMechanism=" + authenticationMechanism +
", headers=" + headers +
", destination='" + destination + '\'' +
", selector='" + selector + '\'' +
", retryWaitMillis=" + retryWaitMillis +
", disableOnFailure=" + disableOnFailure +
", maxRetries=" + maxRetries +
", sessionCount=" + sessionCount +
", enabled=" + enabled +
'}';
}
}