package org.apereo.cas.adaptors.duo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* This is {@link DuoIntegration}.
*
* @author Misagh Moayyed
* @since 5.1.0
*/
public class DuoIntegration {
/**
* The enum Duo enrollment policy status.
*/
public enum DuoEnrollmentPolicyStatus {
/**
* Enroll duo enrollment policy status.
*/
ENROLL,
/**
* Allow duo enrollment policy status.
*/
ALLOW,
/**
* Deny duo enrollment policy status.
*/
DENY
}
private DuoEnrollmentPolicyStatus enrollmentPolicyStatus;
private String greeting;
private String name;
private String type;
public DuoIntegration(final String name) {
this.name = name;
}
public DuoEnrollmentPolicyStatus getEnrollmentPolicyStatus() {
return enrollmentPolicyStatus;
}
/**
* Sets enrollment policy status.
*
* @param enrollmentPolicyStatus the enrollment policy status
* @return the integration
*/
public DuoIntegration setEnrollmentPolicyStatus(final DuoEnrollmentPolicyStatus enrollmentPolicyStatus) {
this.enrollmentPolicyStatus = enrollmentPolicyStatus;
return this;
}
public String getGreeting() {
return greeting;
}
/**
* Sets greeting.
*
* @param greeting the greeting
* @return the integration
*/
public DuoIntegration setGreeting(final String greeting) {
this.greeting = greeting;
return this;
}
public String getName() {
return name;
}
/**
* Sets name.
*
* @param name the name
* @return the integration
*/
public DuoIntegration setName(final String name) {
this.name = name;
return this;
}
public String getType() {
return type;
}
/**
* Sets type.
*
* @param type the type
* @return the integration
*/
public DuoIntegration setType(final String type) {
this.type = type;
return this;
}
/**
* Is enrollment status bypass boolean.
*
* @return the boolean
*/
public boolean isEnrollmentStatusBypass() {
return this.enrollmentPolicyStatus == DuoEnrollmentPolicyStatus.ALLOW;
}
/**
* New instance duo user enrollment policy.
*
* @param name the name
* @return the duo user enrollment policy
*/
public static DuoIntegration newInstance(final String name) {
return new DuoIntegration(name);
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.NO_CLASS_NAME_STYLE)
.append("enrollmentPolicyStatus", enrollmentPolicyStatus)
.append("greeting", greeting)
.append("name", name)
.append("type", type)
.toString();
}
}