package org.openstack.atlas.service.domain.events.entities; import org.openstack.atlas.service.domain.usage.BitTag; import org.openstack.atlas.service.domain.usage.BitTags; import java.io.Serializable; public enum SslMode implements Serializable { ON, MIXED, OFF; private final static long serialVersionUID = 532512316L; public static SslMode getMode(BitTags bitTags) { if (bitTags.isTagOn(BitTag.SSL) && bitTags.isTagOn(BitTag.SSL_MIXED_MODE)) return MIXED; else if (bitTags.isTagOn(BitTag.SSL) && !bitTags.isTagOn(BitTag.SSL_MIXED_MODE)) return ON; else if (!bitTags.isTagOn(BitTag.SSL) && !bitTags.isTagOn(BitTag.SSL_MIXED_MODE)) return OFF; else throw new RuntimeException(String.format("'%s' tag cannot be enabled when '%s' tag is disabled!", BitTag.SSL_MIXED_MODE.name(), BitTag.SSL.name())); } }