package org.apereo.cas.mgmt.services.web.beans; import java.io.Serializable; import java.util.HashMap; import java.util.Map; /** * Defines the service bean that is produced by the webapp * and passed down. * @author Misagh Moayyed * @since 4.1 */ public class RegisteredServiceViewBean implements Serializable { private static final long serialVersionUID = 4882440567964605644L; private int evalOrder = Integer.MIN_VALUE; private String assignedId; private boolean sasCASEnabled; private String serviceId; private String name; private String description; private String logoUrl; private RegisteredServiceProxyPolicyBean proxyPolicy = new RegisteredServiceProxyPolicyBean(); private RegisteredServiceAttributeReleasePolicyViewBean attrRelease = new RegisteredServiceAttributeReleasePolicyViewBean(); private Map<String, Map<String, ?>> customComponent = new HashMap<>(); public int getEvalOrder() { return this.evalOrder; } public void setEvalOrder(final int evalOrder) { this.evalOrder = evalOrder; } public String getAssignedId() { return this.assignedId; } public void setAssignedId(final String assignedId) { this.assignedId = assignedId; } public boolean isSasCASEnabled() { return this.sasCASEnabled; } public void setSasCASEnabled(final boolean sasCASEnabled) { this.sasCASEnabled = sasCASEnabled; } public String getServiceId() { return this.serviceId; } public void setServiceId(final String serviceId) { this.serviceId = serviceId; } public String getName() { return this.name; } public void setName(final String name) { this.name = name; } public String getDescription() { return this.description; } public void setDescription(final String description) { this.description = description; } public String getLogoUrl() { return this.logoUrl; } public void setLogoUrl(final String logoUrl) { this.logoUrl = logoUrl; } public RegisteredServiceProxyPolicyBean getProxyPolicy() { return this.proxyPolicy; } public void setProxyPolicy(final RegisteredServiceProxyPolicyBean proxyPolicy) { this.proxyPolicy = proxyPolicy; } public RegisteredServiceAttributeReleasePolicyViewBean getAttrRelease() { return this.attrRelease; } public void setAttrRelease(final RegisteredServiceAttributeReleasePolicyViewBean attrRelease) { this.attrRelease = attrRelease; } /** * Visible for serialization only. Use {@link RegisteredServiceViewBean#getCustomComponent(String)} instead. * * @return all the custom components */ public Map<String, Map<String, ?>> getCustomComponent() { return this.customComponent; } /** * Get the current properties for the specified custom component. The returned {@link Map} should only contain * nested Maps, Arrays, and simple objects. * * @param componentName name of the component to get the properties for (this should be unique for each component) * @return current custom component properties */ public Map<String, ?> getCustomComponent(final String componentName) { return this.customComponent.get(componentName); } /** * This is reserved for usage by any custom components that need to present their config to the management UI. The * provided {@link Map} should only contain nested Maps, Arrays, and simple objects. * * @param componentName name of the component to store the properties for (this should be unique for each component) * @param properties custom component properties */ public void setCustomComponent(final String componentName, final Map<String, ?> properties) { this.customComponent.put(componentName, properties); } }