1131N/A/*
1131N/A * CDDL HEADER START
1131N/A *
1131N/A * The contents of this file are subject to the terms of the
1131N/A * Common Development and Distribution License, Version 1.0 only
1131N/A * (the "License"). You may not use this file except in compliance
1131N/A * with the License.
1131N/A *
1131N/A * You can obtain a copy of the license at
1131N/A * trunk/opends/resource/legal-notices/OpenDS.LICENSE
1131N/A * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
1131N/A * See the License for the specific language governing permissions
1131N/A * and limitations under the License.
1131N/A *
1131N/A * When distributing Covered Code, include this CDDL HEADER in each
1131N/A * file and include the License file at
1131N/A * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
1131N/A * add the following below this CDDL HEADER, with the fields enclosed
1131N/A * by brackets "[]" replaced with your own identifying information:
1131N/A * Portions Copyright [yyyy] [name of copyright owner]
1131N/A *
1131N/A * CDDL HEADER END
1131N/A *
1131N/A *
3215N/A * Copyright 2007-2008 Sun Microsystems, Inc.
1131N/A */
1389N/Apackage org.opends.server.admin;
1131N/A
1131N/A
1131N/A
1828N/Aimport java.util.SortedSet;
1828N/Aimport org.opends.server.admin.Configuration;
1828N/Aimport org.opends.server.admin.server.ConfigurationAddListener;
1828N/Aimport org.opends.server.admin.server.ConfigurationChangeListener;
1828N/Aimport org.opends.server.admin.server.ConfigurationDeleteListener;
1828N/Aimport org.opends.server.config.ConfigException;
1828N/Aimport org.opends.server.types.AttributeType;
1828N/Aimport org.opends.server.types.DN;
1131N/A
1131N/A
1131N/A
1131N/A/**
1828N/A * A server-side interface for querying Test Parent settings.
1828N/A * <p>
1828N/A * A configuration for testing components that have child components.
1828N/A * It re-uses the virtual-attribute configuration LDAP profile.
1131N/A */
1131N/Apublic interface TestParentCfg extends Configuration {
1131N/A
1131N/A /**
3065N/A * Get the configuration class associated with this Test Parent.
1828N/A *
3065N/A * @return Returns the configuration class associated with this Test Parent.
1131N/A */
3065N/A Class<? extends TestParentCfg> configurationClass();
1131N/A
1389N/A
1389N/A
1389N/A /**
1828N/A * Register to be notified when this Test Parent is changed.
1828N/A *
1828N/A * @param listener
1828N/A * The Test Parent configuration change listener.
1828N/A */
1828N/A void addChangeListener(ConfigurationChangeListener<TestParentCfg> listener);
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Deregister an existing Test Parent configuration change listener.
1828N/A *
1828N/A * @param listener
1828N/A * The Test Parent configuration change listener.
1828N/A */
1828N/A void removeChangeListener(ConfigurationChangeListener<TestParentCfg> listener);
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Get the "mandatory-boolean-property" property.
1828N/A * <p>
1828N/A * A mandatory boolean property.
1828N/A *
1828N/A * @return Returns the value of the "mandatory-boolean-property" property.
1828N/A */
1828N/A boolean isMandatoryBooleanProperty();
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Get the "mandatory-class-property" property.
1828N/A * <p>
1828N/A * A mandatory Java-class property requiring a component restart.
1389N/A *
1828N/A * @return Returns the value of the "mandatory-class-property" property.
1828N/A */
1828N/A String getMandatoryClassProperty();
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Get the "mandatory-read-only-attribute-type-property" property.
1828N/A * <p>
1828N/A * A mandatory read-only attribute type property.
1828N/A *
1828N/A * @return Returns the value of the "mandatory-read-only-attribute-type-property" property.
1828N/A */
1828N/A AttributeType getMandatoryReadOnlyAttributeTypeProperty();
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Get the "optional-multi-valued-dn-property" property.
1828N/A * <p>
1828N/A * An optional multi-valued DN property with a defined default
1828N/A * behavior.
1828N/A *
1828N/A * @return Returns the values of the "optional-multi-valued-dn-property" property.
1389N/A */
1828N/A SortedSet<DN> getOptionalMultiValuedDNProperty();
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Lists the Test Children.
1828N/A *
1828N/A * @return Returns an array containing the names of the
1828N/A * Test Children.
1828N/A */
1828N/A String[] listTestChildren();
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Gets the named Test Child.
1828N/A *
1828N/A * @param name
1828N/A * The name of the Test Child to retrieve.
1828N/A * @return Returns the named Test Child.
1828N/A * @throws ConfigException
1828N/A * If the Test Child could not be found or it
1828N/A * could not be successfully decoded.
1828N/A */
1828N/A TestChildCfg getTestChild(String name) throws ConfigException;
1389N/A
1389N/A
1389N/A
1389N/A /**
1828N/A * Registers to be notified when new Test Children are added.
1828N/A *
1828N/A * @param listener
1828N/A * The Test Child configuration add listener.
1828N/A * @throws ConfigException
1828N/A * If the add listener could not be registered.
1828N/A */
1828N/A void addTestChildAddListener(ConfigurationAddListener<TestChildCfg> listener) throws ConfigException;
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Deregisters an existing Test Child configuration add listener.
1828N/A *
1828N/A * @param listener
1828N/A * The Test Child configuration add listener.
1828N/A */
1828N/A void removeTestChildAddListener(ConfigurationAddListener<TestChildCfg> listener);
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Registers to be notified when existing Test Children are deleted.
1828N/A *
1828N/A * @param listener
1828N/A * The Test Child configuration delete listener.
1828N/A * @throws ConfigException
1828N/A * If the delete listener could not be registered.
1828N/A */
1828N/A void addTestChildDeleteListener(ConfigurationDeleteListener<TestChildCfg> listener) throws ConfigException;
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Deregisters an existing Test Child configuration delete listener.
1828N/A *
1828N/A * @param listener
1828N/A * The Test Child configuration delete listener.
1828N/A */
1828N/A void removeTestChildDeleteListener(ConfigurationDeleteListener<TestChildCfg> listener);
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Determines whether or not the Optional Test Child exists.
1389N/A *
1828N/A * @return Returns <true> if the Optional Test Child exists.
1828N/A */
1828N/A boolean hasOptionalTestChild();
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Gets the Optional Test Child if it is present.
1828N/A *
1828N/A * @return Returns the Optional Test Child if it is present.
1828N/A * @throws ConfigException
1828N/A * If the Optional Test Child does not exist or it could not
1828N/A * be successfully decoded.
1828N/A */
1828N/A TestChildCfg getOptionalTestChild() throws ConfigException;
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Registers to be notified when the Optional Test Child is added.
1828N/A *
1828N/A * @param listener
1828N/A * The Optional Test Child configuration add listener.
1828N/A * @throws ConfigException
1828N/A * If the add listener could not be registered.
1389N/A */
1828N/A void addOptionalTestChildAddListener(ConfigurationAddListener<TestChildCfg> listener) throws ConfigException;
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Deregisters an existing Optional Test Child configuration add listener.
1828N/A *
1828N/A * @param listener
1828N/A * The Optional Test Child configuration add listener.
1828N/A */
1828N/A void removeOptionalTestChildAddListener(ConfigurationAddListener<TestChildCfg> listener);
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Registers to be notified the Optional Test Child is deleted.
1828N/A *
1828N/A * @param listener
1828N/A * The Optional Test Child configuration delete listener.
1828N/A * @throws ConfigException
1828N/A * If the delete listener could not be registered.
1828N/A */
1828N/A void addOptionalChildTestDeleteListener(ConfigurationDeleteListener<TestChildCfg> listener) throws ConfigException;
1828N/A
1828N/A
1828N/A
1828N/A /**
1828N/A * Deregisters an existing Optional Test Child configuration delete listener.
1828N/A *
1828N/A * @param listener
1828N/A * The Optional Test Child configuration delete listener.
1828N/A */
1828N/A void removeOptionalTestChildDeleteListener(ConfigurationDeleteListener<TestChildCfg> listener);
1828N/A
1131N/A}