001 /*
002 * CDDL HEADER START
003 *
004 * The contents of this file are subject to the terms of the
005 * Common Development and Distribution License, Version 1.0 only
006 * (the "License"). You may not use this file except in compliance
007 * with the License.
008 *
009 * You can obtain a copy of the license at
010 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
011 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
012 * See the License for the specific language governing permissions
013 * and limitations under the License.
014 *
015 * When distributing Covered Code, include this CDDL HEADER in each
016 * file and include the License file at
017 * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
018 * add the following below this CDDL HEADER, with the fields enclosed
019 * by brackets "[]" replaced with your own identifying information:
020 * Portions Copyright [yyyy] [name of copyright owner]
021 *
022 * CDDL HEADER END
023 *
024 *
025 * Copyright 2008 Sun Microsystems, Inc.
026 */
027 package org.opends.server.admin.std.client;
028
029
030
031 import org.opends.server.admin.IllegalPropertyValueException;
032 import org.opends.server.admin.ManagedObjectDefinition;
033 import org.opends.server.admin.std.meta.VirtualAttributeCfgDefn.ConflictBehavior;
034 import org.opends.server.admin.std.server.SubschemaSubentryVirtualAttributeCfg;
035 import org.opends.server.types.AttributeType;
036
037
038
039 /**
040 * A client-side interface for reading and modifying Subschema
041 * Subentry Virtual Attribute settings.
042 * <p>
043 * The Subschema Subentry Virtual Attribute generates a virtual
044 * attribute that specifies the location of the subschemaSubentry with
045 * the schema definitions in effect for the entry. This attribute is
046 * defined in RFC 4512.
047 */
048 public interface SubschemaSubentryVirtualAttributeCfgClient extends VirtualAttributeCfgClient {
049
050 /**
051 * Get the configuration definition associated with this Subschema Subentry Virtual Attribute.
052 *
053 * @return Returns the configuration definition associated with this Subschema Subentry Virtual Attribute.
054 */
055 ManagedObjectDefinition<? extends SubschemaSubentryVirtualAttributeCfgClient, ? extends SubschemaSubentryVirtualAttributeCfg> definition();
056
057
058
059 /**
060 * Gets the "attribute-type" property.
061 * <p>
062 * Specifies the attribute type for the attribute whose values are
063 * to be dynamically assigned by the virtual attribute.
064 *
065 * @return Returns the value of the "attribute-type" property.
066 */
067 AttributeType getAttributeType();
068
069
070
071 /**
072 * Sets the "attribute-type" property.
073 * <p>
074 * Specifies the attribute type for the attribute whose values are
075 * to be dynamically assigned by the virtual attribute.
076 *
077 * @param value The value of the "attribute-type" property.
078 * @throws IllegalPropertyValueException
079 * If the new value is invalid.
080 */
081 void setAttributeType(AttributeType value) throws IllegalPropertyValueException;
082
083
084
085 /**
086 * Gets the "conflict-behavior" property.
087 * <p>
088 * Specifies the behavior that the server is to exhibit for entries
089 * that already contain one or more real values for the associated
090 * attribute.
091 *
092 * @return Returns the value of the "conflict-behavior" property.
093 */
094 ConflictBehavior getConflictBehavior();
095
096
097
098 /**
099 * Sets the "conflict-behavior" property.
100 * <p>
101 * Specifies the behavior that the server is to exhibit for entries
102 * that already contain one or more real values for the associated
103 * attribute.
104 *
105 * @param value The value of the "conflict-behavior" property.
106 * @throws IllegalPropertyValueException
107 * If the new value is invalid.
108 */
109 void setConflictBehavior(ConflictBehavior value) throws IllegalPropertyValueException;
110
111
112
113 /**
114 * Gets the "java-class" property.
115 * <p>
116 * Specifies the fully-qualified name of the virtual attribute
117 * provider class that generates the attribute values.
118 *
119 * @return Returns the value of the "java-class" property.
120 */
121 String getJavaClass();
122
123
124
125 /**
126 * Sets the "java-class" property.
127 * <p>
128 * Specifies the fully-qualified name of the virtual attribute
129 * provider class that generates the attribute values.
130 *
131 * @param value The value of the "java-class" property.
132 * @throws IllegalPropertyValueException
133 * If the new value is invalid.
134 */
135 void setJavaClass(String value) throws IllegalPropertyValueException;
136
137 }