| | |
| | | * Portions Copyright 2014-2015 ForgeRock AS |
| | | */ |
| | | package org.opends.server.config; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | |
| | | import static org.opends.messages.ConfigMessages.*; |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.util.CollectionUtils.*; |
| | | |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.Iterator; |
| | | import java.util.LinkedHashSet; |
| | |
| | | import javax.management.MBeanAttributeInfo; |
| | | import javax.management.MBeanParameterInfo; |
| | | |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.forgerock.i18n.slf4j.LocalizedLogger; |
| | | import org.forgerock.opendj.ldap.ByteString; |
| | | import org.forgerock.opendj.ldap.schema.Syntax; |
| | | import org.opends.server.core.DirectoryServer; |
| | | import org.opends.server.types.*; |
| | | import org.forgerock.opendj.ldap.ByteString; |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import org.forgerock.i18n.slf4j.LocalizedLogger; |
| | | import static org.opends.messages.ConfigMessages.*; |
| | | import org.opends.server.types.Attribute; |
| | | |
| | | /** |
| | | * This class defines a configuration attribute that stores both an integer |
| | | * value and an associated unit. The unit will contain both a string and a |
| | |
| | | * |
| | | * @return The name of the data type for this configuration attribute. |
| | | */ |
| | | @Override |
| | | public String getDataType() |
| | | { |
| | | return "IntegerWithUnit"; |
| | |
| | | * |
| | | * @return The attribute syntax for this configuration attribute. |
| | | */ |
| | | @Override |
| | | public Syntax getSyntax() |
| | | { |
| | | return DirectoryServer.getDefaultStringSyntax(); |
| | |
| | | * configuration attribute. This will not take any action if there are no |
| | | * pending values. |
| | | */ |
| | | @Override |
| | | public void applyPendingValues() |
| | | { |
| | | if (! hasPendingValues()) |
| | |
| | | * @return <CODE>true</CODE> if the provided value is acceptable for use in |
| | | * this attribute, or <CODE>false</CODE> if not. |
| | | */ |
| | | @Override |
| | | public boolean valueIsAcceptable(ByteString value, |
| | | StringBuilder rejectReason) |
| | | { |
| | |
| | | * @throws ConfigException If an unrecoverable problem occurs while |
| | | * performing the conversion. |
| | | */ |
| | | @Override |
| | | public LinkedHashSet<ByteString> |
| | | stringsToValues(List<String> valueStrings, boolean allowFailures) |
| | | throws ConfigException |
| | |
| | | * @return The string representations of the set of active values for this |
| | | * configuration attribute. |
| | | */ |
| | | @Override |
| | | public List<String> activeValuesToStrings() |
| | | { |
| | | ArrayList<String> valueStrings = new ArrayList<>(1); |
| | | valueStrings.add(activeIntValue + " " + activeUnit); |
| | | |
| | | return valueStrings; |
| | | return newArrayList(activeIntValue + " " + activeUnit); |
| | | } |
| | | |
| | | |
| | |
| | | * configuration attribute, or <CODE>null</CODE> if there are no |
| | | * pending values. |
| | | */ |
| | | @Override |
| | | public List<String> pendingValuesToStrings() |
| | | { |
| | | if (hasPendingValues()) |
| | | { |
| | | ArrayList<String> valueStrings = new ArrayList<>(1); |
| | | valueStrings.add(pendingIntValue + " " + pendingUnit); |
| | | return valueStrings; |
| | | return newArrayList(pendingIntValue + " " + pendingUnit); |
| | | } |
| | | else |
| | | { |
| | | return null; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | |
| | | * single-valued and the provided attribute has |
| | | * multiple values). |
| | | */ |
| | | @Override |
| | | public ConfigAttribute getConfigAttribute(List<Attribute> attributeList) |
| | | throws ConfigException |
| | | { |
| | |
| | | * configuration attribute, or <CODE>null</CODE> if it does not have |
| | | * any active values. |
| | | */ |
| | | @Override |
| | | public javax.management.Attribute toJMXAttribute() |
| | | { |
| | | return new javax.management.Attribute(getName(), |
| | |
| | | * configuration attribute, or <CODE>null</CODE> if it does not have |
| | | * any active values. |
| | | */ |
| | | @Override |
| | | public javax.management.Attribute toJMXAttributePending() |
| | | { |
| | | return new javax.management.Attribute(getName() + ";" |
| | |
| | | * The attribute list to which the JMX attribute(s) should |
| | | * be added. |
| | | */ |
| | | @Override |
| | | public void toJMXAttribute(AttributeList attributeList) |
| | | { |
| | | String activeValue = activeIntValue + " " + activeUnit; |
| | |
| | | * @param attributeInfoList The list to which the attribute information |
| | | * should be added. |
| | | */ |
| | | @Override |
| | | public void toJMXAttributeInfo(List<MBeanAttributeInfo> attributeInfoList) |
| | | { |
| | | attributeInfoList.add(new MBeanAttributeInfo(getName(), |
| | |
| | | * @return A JMX <CODE>MBeanParameterInfo</CODE> object that describes this |
| | | * configuration attribute. |
| | | */ |
| | | @Override |
| | | public MBeanParameterInfo toJMXParameterInfo() |
| | | { |
| | | return new MBeanParameterInfo(getName(), String.class.getName(), |
| | |
| | | * acceptable value for this configuration |
| | | * attribute. |
| | | */ |
| | | @Override |
| | | public void setValue(javax.management.Attribute jmxAttribute) |
| | | throws ConfigException |
| | | { |
| | |
| | | * |
| | | * @return A duplicate of this configuration attribute. |
| | | */ |
| | | @Override |
| | | public ConfigAttribute duplicate() |
| | | { |
| | | return new IntegerWithUnitConfigAttribute(getName(), getDescription(), |
| | |
| | | pendingIntValue, pendingUnit); |
| | | } |
| | | } |
| | | |