You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2008/05/14 19:21:48 UTC

svn commit: r656336 [7/11] - in /directory/studio/trunk/apacheds-configuration: ./ resources/icons/ src/main/java/ src/main/java/org/apache/directory/studio/apacheds/configuration/ src/main/java/org/apache/directory/studio/apacheds/configuration/dialog...

Modified: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerConfiguration.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerConfiguration.java?rev=656336&r1=656335&r2=656336&view=diff
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerConfiguration.java (original)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerConfiguration.java Wed May 14 10:21:46 2008
@@ -20,1083 +20,19 @@
 package org.apache.directory.studio.apacheds.configuration.model;
 
 
-import java.util.ArrayList;
-import java.util.List;
-
-
 /**
- * This class represents a Server Configuration.
+ * This interface represents a Server Configuration.
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public class ServerConfiguration
+public interface ServerConfiguration
 {
-    // LDAP Configuration
-
-    /** The port */
-    private int ldapPort;
-
-    /** The principal */
-    private String principal;
-
-    /** The password */
-    private String password;
-
-    // Limits
-
-    /** The Max Time Limit */
-    private int maxTimeLimit;
-
-    /** the Max Size Limit */
-    private int maxSizeLimit;
-
-    /** The Synchronization Period */
-    private long synchronizationPeriod;
-
-    /** The Maximum number of Threads */
-    private int maxThreads;
-
-    /** The Supported Mechanisms */
-    private List<String> supportedMechanisms;
-
-    // SASL Properties
-
-    /** The SASL Host */
-    private String saslHost;
-
-    /** The SASL Principal */
-    private String saslPrincipal;
-
-    /** The SASL QOP */
-    private List<String> saslQops;
-
-    /** The SASL Realms */
-    private List<String> saslRealms;
-
-    /** The Search Base DN */
-    private String searchBaseDn;
-
-    // Protocols
-
-    /** The flag for Enable Access Control */
-    private boolean enableAccessControl;
-
-    /** The flag for Enable Kerberos */
-    private boolean enableKerberos;
-
-    /** The port for Kerberos */
-    private int kerberosPort;
-
-    /** The flag for Enable NTP */
-    private boolean enableNtp;
-
-    /** The port for NTP */
-    private int ntpPort;
-
-    /** The flag for Enable DNS */
-    private boolean enableDns;
-
-    /** The port for DNS */
-    private int dnsPort;
-
-    /** The flag for Enable LDAPS */
-    private boolean enableLdaps;
-
-    /** The port for LDAPS */
-    private int ldapsPort;
-
-    /** The flag for Enable Change Password */
-    private boolean enableChangePassword;
-
-    /** The port for Change Password */
-    private int changePasswordPort;
-
-    // Options
-
-    /** The flag for Denormalize Operational Attributes */
-    private boolean denormalizeOpAttr;
-
-    /** The flag for Allow Anonymous Access */
-    private boolean allowAnonymousAccess;
-
-    // Other configuration elements
-
-    /** The Binary Attributes */
-    private List<String> binaryAttributes;
-
-    /** The Partitions */
-    private List<Partition> partitions;
-
-    /** The Interceptors */
-    private List<Interceptor> interceptors;
-
-    /** The Extended Operations */
-    private List<ExtendedOperation> extendedOperations;
-
-
-    /**
-     * Creates a new instance of ServerConfiguration.
-     */
-    public ServerConfiguration()
-    {
-        supportedMechanisms = new ArrayList<String>();
-        saslQops = new ArrayList<String>();
-        saslRealms = new ArrayList<String>();
-        partitions = new ArrayList<Partition>();
-        interceptors = new ArrayList<Interceptor>();
-        extendedOperations = new ArrayList<ExtendedOperation>();
-        binaryAttributes = new ArrayList<String>();
-    }
-
-
-    /**
-     * Adds a Binary Attribute.
-     *
-     * @param binaryAttribute
-     *      the Partition to add
-     * @return
-     *      true (as per the general contract of the Collection.add method).
-     */
-    public boolean addBinaryAttribute( String binaryAttribute )
-    {
-        return binaryAttributes.add( binaryAttribute );
-    }
-
-
-    /**
-     * Adds an Extended Operation.
-     *
-     * @param extendedOperation
-     *      the Extended Operation to add
-     * @return
-     *      true (as per the general contract of the Collection.add method).
-     */
-    public boolean addExtendedOperation( ExtendedOperation extendedOperation )
-    {
-        return extendedOperations.add( extendedOperation );
-    }
-
-
-    /**
-     * Adds an Interceptor.
-     *
-     * @param interceptor
-     *      the Interceptor to add
-     * @return
-     *      true (as per the general contract of the Collection.add method).
-     */
-    public boolean addInterceptor( Interceptor interceptor )
-    {
-        return interceptors.add( interceptor );
-    }
-
-
-    /**
-     * Adds a Partition.
-     *
-     * @param partition
-     *      the Partition to add
-     * @return
-     *      true (as per the general contract of the Collection.add method).
-     */
-    public boolean addPartition( Partition partition )
-    {
-        return partitions.add( partition );
-    }
-
-
-    /**
-     * Adds a SASL Quality Of Protection.
-     *
-     * @param saslQop
-     *      the SASL Quality Of Protection to add
-     * @return
-     *      true (as per the general contract of the Collection.add method).
-     */
-    public boolean addSaslQop( String saslQop )
-    {
-        return saslQops.add( saslQop );
-    }
-
-
-    /**
-    * Adds a SASL Realm.
-    *
-    * @param qop
-    *      the SASL Realm to add
-    * @return
-    *      true (as per the general contract of the Collection.add method).
-    */
-    public boolean addSaslRealm( String saslRealm )
-    {
-        return saslRealms.add( saslRealm );
-    }
-
-
-    /**
-     * Adds a Supported Mechanism.
-     *
-     * @param supportedMechanism
-     *      the Supported Mechanism to add
-     * @return
-     *      true (as per the general contract of the Collection.add method).
-     */
-    public boolean addSupportedMechanism( String supportedMechanism )
-    {
-        return supportedMechanisms.add( supportedMechanism );
-    }
-
-
-    /**
-     * Removes all Binary Attributes.
-     */
-    public void clearBinaryAttributes()
-    {
-        binaryAttributes.clear();
-    }
-
-
-    /**
-     * Removes all ExtendedOperations.
-     */
-    public void clearExtendedOperations()
-    {
-        extendedOperations.clear();
-    }
-
-
-    /**
-     * Removes all interceptors.
-     */
-    public void clearInterceptors()
-    {
-        interceptors.clear();
-    }
-
-
-    /**
-     * Removes all partitions.
-     */
-    public void clearPartitions()
-    {
-        partitions.clear();
-    }
-
-
-    /**
-     * Gets the Binary Attributes List.
-     *
-     * @return
-     *      the Binary Attributes  List
-     */
-    public List<String> getBinaryAttributes()
-    {
-        return binaryAttributes;
-    }
-
-
-    /**
-     * Gets the Change Password port.
-     *
-     * @return
-     *      the Change Password port
-     */
-    public int getChangePasswordPort()
-    {
-        return changePasswordPort;
-    }
-
-
-    /**
-     * Gets the DNS port.
-     *
-     * @return
-     *      the DNS port
-     */
-    public int getDnsPort()
-    {
-        return dnsPort;
-    }
-
-
-    /**
-     * Gets the Extended Operations List.
-     *
-     * @return
-     *      the Extended Operations List
-     */
-    public List<ExtendedOperation> getExtendedOperations()
-    {
-        return extendedOperations;
-    }
-
-
-    /**
-     * Gets the Interceptors List.
-     *
-     * @return
-     *      the Interceptors List
-     */
-    public List<Interceptor> getInterceptors()
-    {
-        return interceptors;
-    }
-
-
-    /**
-     * Gets the Kerberos port.
-     *
-     * @return
-     *      the Kerberos port
-     */
-    public int getKerberosPort()
-    {
-        return kerberosPort;
-    }
-
-
-    /**
-     * Gets the LDAPS port.
-     *
-     * @return
-     *      the LDAPS port
-     */
-    public int getLdapsPort()
-    {
-        return ldapsPort;
-    }
-
-
-    /**
-     * Gets the Maximum Size Limit.
-     *
-     * @return
-     *      the Maximum Size Limit
-     */
-    public int getMaxSizeLimit()
-    {
-        return maxSizeLimit;
-    }
-
-
-    /**
-     * Gets the Maximum number of Threads.
-     *
-     * @return
-     *      the Maximum number of Threads
-     */
-    public int getMaxThreads()
-    {
-        return maxThreads;
-    }
-
-
-    /**
-     * Gets the Maximum Time Limit.
-     *
-     * @return
-     *      the Maximum Time Limit
-     */
-    public int getMaxTimeLimit()
-    {
-        return maxTimeLimit;
-    }
-
-
-    /**
-     * Gets the NTP port.
-     *
-     * @return
-     *      the NTP port
-     */
-    public int getNtpPort()
-    {
-        return ntpPort;
-    }
-
-
-    /**
-     * Gets the Partitions List.
-     *
-     * @return
-     *      the Partitions List
-     */
-    public List<Partition> getPartitions()
-    {
-        return partitions;
-    }
-
-
-    /**
-     * Gets the password.
-     *
-     * @return
-     *      the password
-     */
-    public String getPassword()
-    {
-        return password;
-    }
-
-
-    /**
-     * Gets the LDAP Port.
-     *
-     * @return
-     *      the LDAP Port
-     */
-    public int getLdapPort()
-    {
-        return ldapPort;
-    }
-
-
-    /**
-     * Gets the Principal
-     *
-     * @return
-     *      the Principal
-     */
-    public String getPrincipal()
-    {
-        return principal;
-    }
-
-
-    /**
-     * Gets the SASL Host.
-     *
-     * @return
-     *       the SASL Host
-     */
-    public String getSaslHost()
-    {
-        return saslHost;
-    }
-
-
-    /**
-     * Gets the SASL Principal.
-     *
-     * @return
-     *      the SASL Principal
-     */
-    public String getSaslPrincipal()
-    {
-        return saslPrincipal;
-    }
-
-
-    /**
-     * Gets the SASL Quality Of Protection List
-     *
-     * @return
-     *      the SASL Quality Of Protection List
-     */
-    public List<String> getSaslQops()
-    {
-        return saslQops;
-    }
-
-
-    /**
-     * Gets the SASL Realms List.
-     *
-     * @return
-     *      the SASL Realms List
-     */
-    public List<String> getSaslRealms()
-    {
-        return saslRealms;
-    }
-
-
-    /**
-     * Gets the Search Base DN.
-     *
-     * @return
-     *      the Search Base DN
-     */
-    public String getSearchBaseDn()
-    {
-        return searchBaseDn;
-    }
-
-
-    /**
-     * Gets the Supported Mechanisms List.
-     * 
-     * @return
-     *      the Supported Mechanisms List
-     */
-    public List<String> getSupportedMechanisms()
-    {
-        return supportedMechanisms;
-    }
-
-
-    /**
-     * Gets the Synchronization Period.
-     *
-     * @return
-     *      the Synchronization Period
-     */
-    public long getSynchronizationPeriod()
-    {
-        return synchronizationPeriod;
-    }
-
-
-    /**
-     * Gets the Allow Anonymous flag.
-     *
-     * @return
-     *      true if the server configuration allows Anonymous Access
-     */
-    public boolean isAllowAnonymousAccess()
-    {
-        return allowAnonymousAccess;
-    }
-
-
-    /**
-     * Gets the Denormalize Operational Attributes flag.
-     *
-     * @return
-     *      the Denormalize Operational Attributes flag
-     */
-    public boolean isDenormalizeOpAttr()
-    {
-        return denormalizeOpAttr;
-    }
-
-
-    /**
-     * Gets the Enable Access Control flag.
-     *
-     * @return
-     *      true if Access Control is enabled
-     */
-    public boolean isEnableAccessControl()
-    {
-        return enableAccessControl;
-    }
-
-
-    /**
-     * Gets the Enable Change Password flag.
-     *
-     * @return
-     *      true if Change Password is enabled
-     */
-    public boolean isEnableChangePassword()
-    {
-        return enableChangePassword;
-    }
-
-
-    /**
-     * Gets the Enable DNS flag.
-     *
-     * @return
-     *      true if DNS is enabled
-     */
-    public boolean isEnableDns()
-    {
-        return enableDns;
-    }
-
-
-    /**
-     * Gets the Enable Kerberos flag.
-     *
-     * @return
-     *      true if Kerberos is enabled
-     */
-    public boolean isEnableKerberos()
-    {
-        return enableKerberos;
-    }
-
-
-    /**
-     * Gets the Enable LDAPS flag.
-     *
-     * @return
-     *      true if LDAPS is enabled
-     */
-    public boolean isEnableLdaps()
-    {
-        return enableLdaps;
-    }
-
-
-    /**
-     * Gets the Enable NTP flag.
-     *
-     * @return
-     *      true if NTP is enabled
-     */
-    public boolean isEnableNtp()
-    {
-        return enableNtp;
-    }
-
-
-    /**
-     * Removes a Binary Attribute.
-     *
-     * @param binaryAttribute
-     *      the Binary Attribute to remove
-     * @return
-     *      true if this list contained the specified element.
-     */
-    public boolean removeBinaryAttribute( String binaryAttribute )
-    {
-        return binaryAttributes.remove( binaryAttribute );
-    }
-
-
-    /**
-     * Removes an Extended Operation.
-     *
-     * @param extendedOperation
-     *      the Extended Operation to remove
-     * @return
-     *      true if this list contained the specified element.
-     */
-    public boolean removeExtendedOperation( ExtendedOperation extendedOperation )
-    {
-        return extendedOperations.remove( extendedOperation );
-    }
-
-
     /**
-     * Removes an Supported Mechanism.
+     * Gets the version of the server configuration
      *
-     * @param supportedMechanism
-     *      the Supported Mechanism to remove
      * @return
-     *      true if this list contained the specified element.
-     */
-    public boolean removeExtendedOperation( String supportedMechanism )
-    {
-        return supportedMechanisms.remove( supportedMechanism );
-    }
-
-
-    /**
-     * Removes an Interceptor.
-     *
-     * @param interceptor
-     *      the Interceptor to remove
-     * @return
-     *      true if this list contained the specified element.
-     */
-    public boolean removeInterceptor( Interceptor interceptor )
-    {
-        return interceptors.remove( interceptor );
-    }
-
-
-    /**
-     * Removes a Partition.
-     *
-     * @param partition
-     *      the partition to remove
-     * @return
-     *      true if this list contained the specified element.
-     */
-    public boolean removePartition( Partition partition )
-    {
-        return partitions.remove( partition );
-    }
-
-
-    /**
-     * Removes a SASL Quality Of Protection.
-     *
-     * @param saslQop
-     *      the SASL Quality Of Protection to remove
-     * @return
-     *      true if this list contained the specified element.
-     */
-    public boolean removeSaslQop( String saslQop )
-    {
-        return saslQops.remove( saslQop );
-    }
-
-
-    /**
-     * Removes a SASL Realm.
-     *
-     * @param saslRealm
-     *      the SASL Realm to remove
-     * @return
-     *      true if this list contained the specified element.
-     */
-    public boolean removeSaslRealm( String saslRealm )
-    {
-        return saslRealms.remove( saslRealm );
-    }
-
-
-    /**
-     * Sets the Allow Anonymous flag.
-     *
-     * @param allowAnonymousAccess
-     *      the new value
-     */
-    public void setAllowAnonymousAccess( boolean allowAnonymousAccess )
-    {
-        this.allowAnonymousAccess = allowAnonymousAccess;
-    }
-
-
-    /**
-     * Sets the Binary Attributes  List.
-     *
-     * @param binaryAttributes
-     *      the new value
-     */
-    public void setBinaryAttributes( List<String> binaryAttributes )
-    {
-        this.binaryAttributes = binaryAttributes;
-    }
-
-
-    /**
-     * Sets the Change Password port.
-     *
-     * @param changePasswordPort
-     *      the Change Password port
-     */
-    public void setChangePasswordPort( int changePasswordPort )
-    {
-        this.changePasswordPort = changePasswordPort;
-    }
-
-
-    /**
-     * Sets the Denormalize Operational Attributes flag.
-     *
-     * @param denormalizeOpAttr
-     *      the new Denormalize Operational Attributes flag
-     */
-    public void setDenormalizeOpAttr( boolean denormalizeOpAttr )
-    {
-        this.denormalizeOpAttr = denormalizeOpAttr;
-    }
-
-
-    /**
-     * Sets the DNS port.
-     *
-     * @param dnsPort
-     *      the DNS port
-     */
-    public void setDnsPort( int dnsPort )
-    {
-        this.dnsPort = dnsPort;
-    }
-
-
-    /**
-     * Sets the Enable Access Control flag.
-     *
-     * @param enableAccessControl
-     *      the new value
-     */
-    public void setEnableAccessControl( boolean enableAccessControl )
-    {
-        this.enableAccessControl = enableAccessControl;
-    }
-
-
-    /**
-     * Sets the Enable Change Password flag.
-     *
-     * @param enableChangePassword
-     *      the new value
-     */
-    public void setEnableChangePassword( boolean enableChangePassword )
-    {
-        this.enableChangePassword = enableChangePassword;
-    }
-
-
-    /**
-     * Sets Enable DNS flag.
-     *
-     * @param enableDns
-     *      the new value
-     */
-    public void setEnableDns( boolean enableDns )
-    {
-        this.enableDns = enableDns;
-    }
-
-
-    /**
-     * Sets the Enable Kerberos flag.
-     *
-     * @param enableKerberos
-     *      the new value
-     */
-    public void setEnableKerberos( boolean enableKerberos )
-    {
-        this.enableKerberos = enableKerberos;
-    }
-
-
-    /**
-     * Sets the Enable LDAPS flag.
-     *
-     * @param enableLdaps
-     *      the new value
-     */
-    public void setEnableLdaps( boolean enableLdaps )
-    {
-        this.enableLdaps = enableLdaps;
-    }
-
-
-    /**
-     * Sets the Enable NTP flag.
-     *
-     * @param enableNtp
-     *      the new value
-     */
-    public void setEnableNtp( boolean enableNtp )
-    {
-        this.enableNtp = enableNtp;
-    }
-
-
-    /**
-     * Sets the Extended Operations List.
-     *
-     * @param extendedOperations
-     *      the new value
-     */
-    public void setExtendedOperations( List<ExtendedOperation> extendedOperations )
-    {
-        this.extendedOperations = extendedOperations;
-    }
-
-
-    /**
-     * Sets the Interceptors List.
-     *
-     * @param interceptors
-     *      the new value
-     */
-    public void setInterceptors( List<Interceptor> interceptors )
-    {
-        this.interceptors = interceptors;
-    }
-
-
-    /**
-     * Sets the Kerberos port.
-     *
-     * @param kerberosPort
-     *      the new value
-     */
-    public void setKerberosPort( int kerberosPort )
-    {
-        this.kerberosPort = kerberosPort;
-    }
-
-
-    /**
-     * Sets The LDAPS port.
-     *
-     * @param ldapsPort
-     */
-    public void setLdapsPort( int ldapsPort )
-    {
-        this.ldapsPort = ldapsPort;
-    }
-
-
-    /**
-     * Sets the Maximum Size Limit.
-     *
-     * @param maxSizeLimit
-     *      the new value
-     */
-    public void setMaxSizeLimit( int maxSizeLimit )
-    {
-        this.maxSizeLimit = maxSizeLimit;
-    }
-
-
-    /**
-     * Sets the Maximum number of Threads
-     *
-     * @param maxThreads
-     *      the new value
-     */
-    public void setMaxThreads( int maxThreads )
-    {
-        this.maxThreads = maxThreads;
-    }
-
-
-    /**
-     * Sets the Maximum Time Limit.
-     *
-     * @param maxTimeLimit
-     *      the new value
-     */
-    public void setMaxTimeLimit( int maxTimeLimit )
-    {
-        this.maxTimeLimit = maxTimeLimit;
-    }
-
-
-    /**
-     * Sets the NTP port.
-     *
-     * @param ntpPort
-     *      the new value
-     */
-    public void setNtpPort( int ntpPort )
-    {
-        this.ntpPort = ntpPort;
-    }
-
-
-    /**
-     * Sets the Partitions List.
-     *
-     * @param partitions
-     *      the new value
-     */
-    public void setPartitions( List<Partition> partitions )
-    {
-        this.partitions = partitions;
-    }
-
-
-    /**
-     * Sets the password.
-     *
-     * @param password
-     *      the new password
-     */
-    public void setPassword( String password )
-    {
-        this.password = password;
-    }
-
-
-    /**
-     * Sets the LDAP Port
-     *
-     * @param ldapPort
-     *      the new value
-     */
-    public void setLdapPort( int ldapPort )
-    {
-        this.ldapPort = ldapPort;
-    }
-
-
-    /**
-     * Sets the Principal
-     *
-     * @param principal
-     *      the new value
-     */
-    public void setPrincipal( String principal )
-    {
-        this.principal = principal;
-    }
-
-
-    /**
-     * Sets the SASL Host.
-     *
-     * @param saslHost
-     *      the new value
-     */
-    public void setSaslHost( String saslHost )
-    {
-        this.saslHost = saslHost;
-    }
-
-
-    /**
-     * Sets the SASL Principal.
-     *
-     * @param saslPrincipal
-     *      the new value
-     */
-    public void setSaslPrincipal( String saslPrincipal )
-    {
-        this.saslPrincipal = saslPrincipal;
-    }
-
-
-    /**
-     * Sets the SASL Quality Of Protection List.
-     *
-     * @param saslQops
-     *      the new value
-     */
-    public void setSaslQops( List<String> saslQops )
-    {
-        this.saslQops = saslQops;
-    }
-
-
-    /**
-     * Sets the SASL Realms List.
-     * 
-     * @param saslRealms
-     *      the new value
-     */
-    public void setSaslRealms( List<String> saslRealms )
-    {
-        this.saslRealms = saslRealms;
-    }
-
-
-    /**
-     * Sets the Search Base DN
-     *
-     * @param searchBaseDn
-     *      the new value
-     */
-    public void setSearchBaseDn( String searchBaseDn )
-    {
-        this.searchBaseDn = searchBaseDn;
-    }
-
-
-    /**
-     * Sets the Supported Mechanisms List.
-     *
-     * @param supportedMechanisms
-     *      the new value
-     */
-    public void setSupportedMechanisms( List<String> supportedMechanisms )
-    {
-        this.supportedMechanisms = supportedMechanisms;
-    }
-
-
-    /**
-     * Sets the Synchonization Period.
-     *
-     * @param synchronizationPeriod
-     *      the new value
+     *      the version of the server configuration
      */
-    public void setSynchronizationPeriod( long synchronizationPeriod )
-    {
-        this.synchronizationPeriod = synchronizationPeriod;
-    }
+    public ServerConfigurationVersionEnum getVersion();
 }

Added: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerConfigurationVersionEnum.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerConfigurationVersionEnum.java?rev=656336&view=auto
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerConfigurationVersionEnum.java (added)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/ServerConfigurationVersionEnum.java Wed May 14 10:21:46 2008
@@ -0,0 +1,66 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.directory.studio.apacheds.configuration.model;
+
+
+/**
+ * This enum contains all the versions supported by the plugin.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public enum ServerConfigurationVersionEnum
+{
+    /** Version 1.5.2 */
+    VERSION_1_5_2
+    {
+        /* (non-Javadoc)
+         * @see java.lang.Enum#toString()
+         */
+        public String toString()
+        {
+            return "Version 1.5.2";
+        }
+    },
+
+    /** Version 1.5.1 */
+    VERSION_1_5_1
+    {
+        /* (non-Javadoc)
+         * @see java.lang.Enum#toString()
+         */
+        public String toString()
+        {
+            return "Version 1.5.1";
+        }
+    },
+
+    /** Version 1.5.0 */
+    VERSION_1_5_0
+    {
+        /* (non-Javadoc)
+         * @see java.lang.Enum#toString()
+         */
+        public String toString()
+        {
+            return "Version 1.5.0";
+        }
+    }
+}

Added: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ExtendedOperation.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ExtendedOperation.java?rev=656336&view=auto
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ExtendedOperation.java (added)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ExtendedOperation.java Wed May 14 10:21:46 2008
@@ -0,0 +1,78 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.directory.studio.apacheds.configuration.model.v150;
+
+
+/**
+ * This class represents an Extended Operation.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class ExtendedOperation
+{
+    /** The class of the partition */
+    private String classType;
+
+
+    /**
+     * Creates a new instance of Partition.
+     *
+     * @param classType
+     *      the classType of the partition
+     */
+    public ExtendedOperation( String classType )
+    {
+        this.classType = classType;
+    }
+
+
+    /**
+     * Gets the class type of the partition.
+     *
+     * @return
+     *      the class type of the partition
+     */
+    public String getClassType()
+    {
+        return this.classType;
+    }
+
+
+    /**
+     * Sets the class type of the partition.
+     *
+     * @param classType
+     *      the new class type to set
+     */
+    public void setClassType( String classType )
+    {
+        this.classType = classType;
+    }
+
+
+    /* (non-Javadoc)
+     * @see java.lang.Object#toString()
+     */
+    public String toString()
+    {
+        return classType;
+    }
+}

Added: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/IndexedAttribute.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/IndexedAttribute.java?rev=656336&view=auto
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/IndexedAttribute.java (added)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/IndexedAttribute.java Wed May 14 10:21:46 2008
@@ -0,0 +1,108 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.directory.studio.apacheds.configuration.model.v150;
+
+
+/**
+ * This class represents an Indexed Attribute.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class IndexedAttribute
+{
+    /** The attribute id */
+    private String attributeId;
+
+    /** The cache size */
+    private int cacheSize;
+
+
+    /**
+     * Creates a new instance of IndexedAttribute.
+     *
+     * @param attributeId
+     *      the attribute id
+     * @param cacheSize
+     *      the cache size
+     */
+    public IndexedAttribute( String attributeId, int cacheSize )
+    {
+        this.attributeId = attributeId;
+        this.cacheSize = cacheSize;
+    }
+
+
+    /**
+     * Gets the attribute id.
+     *
+     * @return
+     *      the attribute id
+     */
+    public String getAttributeId()
+    {
+        return attributeId;
+    }
+
+
+    /**
+     * Sets the attribute id.
+     *
+     * @param attributeId
+     *      the new attribute id
+     */
+    public void setAttributeId( String attributeId )
+    {
+        this.attributeId = attributeId;
+    }
+
+
+    /**
+     * Gets the cache size.
+     *
+     * @return
+     *      the cache size
+     */
+    public int getCacheSize()
+    {
+        return cacheSize;
+    }
+
+
+    /**
+     * Gets the cache size.
+     *
+     * @param cacheSize
+     *      the new cache size
+     */
+    public void setCacheSize( int cacheSize )
+    {
+        this.cacheSize = cacheSize;
+    }
+
+
+    /* (non-Javadoc)
+     * @see java.lang.Object#toString()
+     */
+    public String toString()
+    {
+        return attributeId + " [" + cacheSize + "]";
+    }
+}

Added: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/Interceptor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/Interceptor.java?rev=656336&view=auto
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/Interceptor.java (added)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/Interceptor.java Wed May 14 10:21:46 2008
@@ -0,0 +1,105 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.directory.studio.apacheds.configuration.model.v150;
+
+
+/**
+ * This class represents an Interceptor.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class Interceptor
+{
+    /** The name of the interceptor */
+    private String name;
+
+    /** The class of the class of the interceptor */
+    private String classType;
+
+
+    /**
+     * Creates a new instance of Interceptor.
+     *
+     * @param name
+     *      the name of the interceptor
+     */
+    public Interceptor( String name )
+    {
+        this.name = name;
+    }
+
+
+    /**
+     * Gets the name of the interceptor.
+     *
+     * @return
+     *      the name of the interceptor
+     */
+    public String getName()
+    {
+        return this.name;
+    }
+
+
+    /**
+     * Sets the name of the interceptor.
+     *
+     * @param name
+     *      the new name to set
+     */
+    public void setName( String name )
+    {
+        this.name = name;
+    }
+
+
+    /**
+     * Gets the class type of the interceptor.
+     *
+     * @return
+     *      the class type of the interceptor
+     */
+    public String getClassType()
+    {
+        return classType;
+    }
+
+
+    /**
+     * Sets the class type of the interceptor.
+     *
+     * @param classType
+     *      the new class type to set
+     */
+    public void setClassType( String classType )
+    {
+        this.classType = classType;
+    }
+
+
+    /* (non-Javadoc)
+     * @see java.lang.Object#toString()
+     */
+    public String toString()
+    {
+        return name;
+    }
+}

Added: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/Partition.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/Partition.java?rev=656336&view=auto
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/Partition.java (added)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/Partition.java Wed May 14 10:21:46 2008
@@ -0,0 +1,314 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.directory.studio.apacheds.configuration.model.v150;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.naming.directory.Attributes;
+import javax.naming.directory.BasicAttributes;
+
+
+/**
+ * This class represents a Partition.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class Partition
+{
+    /** The ID of the partition */
+    private String id;
+
+    /** The cache size of the partition */
+    private int cacheSize;
+
+    /** The suffix of the partition */
+    private String suffix;
+
+    /** The Enable Optimizer flag */
+    private boolean enableOptimizer;
+
+    /** The Synchronization On Write flag */
+    private boolean synchronizationOnWrite;
+
+    /** The Context Entry */
+    private Attributes contextEntry;
+
+    /** The indexed attributes */
+    private List<IndexedAttribute> indexedAttributes;
+
+    /** The System Partition flag */
+    private boolean systemPartition = false;
+
+
+    /**
+     * Creates a new instance of Partition.
+     */
+    public Partition()
+    {
+        indexedAttributes = new ArrayList<IndexedAttribute>();
+        contextEntry = new BasicAttributes( true );
+    }
+
+
+    /**
+     * Creates a new instance of Partition.
+     *
+     * @param id
+     *      the id of the partition
+     */
+    public Partition( String id )
+    {
+        indexedAttributes = new ArrayList<IndexedAttribute>();
+        contextEntry = new BasicAttributes( true );
+        this.id = id;
+    }
+
+
+    /**
+     * Gets the ID of the partition.
+     *
+     * @return
+     *      the ID of the partition
+     */
+    public String getId()
+    {
+        return this.id;
+    }
+
+
+    /**
+     * Sets the ID of the partition.
+     *
+     * @param id
+     *      the new ID to set
+     */
+    public void setId( String id )
+    {
+        this.id = id;
+    }
+
+
+    /**
+     * Gets the cache size.
+     *
+     * @return
+     *      the cache size
+     */
+    public int getCacheSize()
+    {
+        return cacheSize;
+    }
+
+
+    /**
+     * Sets the cache size.
+     *
+     * @param cacheSize
+     *      the new cache size
+     */
+    public void setCacheSize( int cacheSize )
+    {
+        this.cacheSize = cacheSize;
+    }
+
+
+    /**
+     * Gets the Context Entry.
+     *
+     * @return
+     *      the Content Entry
+     */
+    public Attributes getContextEntry()
+    {
+        return contextEntry;
+    }
+
+
+    /**
+     * Sets the Context Entry
+     *
+     * @param contextEntry
+     *      the new Context Entry
+     */
+    public void setContextEntry( Attributes contextEntry )
+    {
+        this.contextEntry = contextEntry;
+    }
+
+
+    /**
+     * Gets the Enable Optimizer flag.
+     *
+     * @return
+     *      the Enable Optimizer flag
+     */
+    public boolean isEnableOptimizer()
+    {
+        return enableOptimizer;
+    }
+
+
+    /**
+     * Sets the Enable Optimizer flag.
+     *
+     * @param enableOptimizer
+     *      the new value for the Enable Optimizer flag
+     */
+    public void setEnableOptimizer( boolean enableOptimizer )
+    {
+        this.enableOptimizer = enableOptimizer;
+    }
+
+
+    /**
+     * Get the Indexed Attributes List.
+     *
+     * @return
+     *      the Indexed Attributes List
+     */
+    public List<IndexedAttribute> getIndexedAttributes()
+    {
+        return indexedAttributes;
+    }
+
+
+    /**
+     * Set the Indexed Attributes List.
+     *
+     * @param indexedAttributes
+     *      the new Indexed Attributes List
+     */
+    public void setIndexedAttributes( List<IndexedAttribute> indexedAttributes )
+    {
+        this.indexedAttributes = indexedAttributes;
+    }
+
+
+    /**
+     * Adds an Indexed Attribute.
+     *
+     * @param indexedAttribute
+     *      the Indexed Attribute to add
+     * @return
+     *      true (as per the general contract of the Collection.add method).
+     */
+    public boolean addIndexedAttribute( IndexedAttribute indexedAttribute )
+    {
+        return indexedAttributes.add( indexedAttribute );
+    }
+
+
+    /**
+     * Removes a Indexed Attribute.
+     *
+     * @param indexedAttribute
+     *      the Indexed Attribute to remove
+     * @return
+     *      true if this list contained the specified element.
+     */
+    public boolean removeIndexedAttribute( IndexedAttribute indexedAttribute )
+    {
+        return indexedAttributes.remove( indexedAttribute );
+    }
+
+
+    /**
+     * Gets the suffix.
+     *
+     * @return
+     *      the suffix
+     */
+    public String getSuffix()
+    {
+        return suffix;
+    }
+
+
+    /**
+     * Sets the suffix.
+     *
+     * @param suffix
+     *      the new suffix
+     */
+    public void setSuffix( String suffix )
+    {
+        this.suffix = suffix;
+    }
+
+
+    /**
+     * Gets the Synchronization On Write flag.
+     *
+     * @return
+     *      the Synchronization On Write flag
+     */
+    public boolean isSynchronizationOnWrite()
+    {
+        return synchronizationOnWrite;
+    }
+
+
+    /**
+     * Sets the Synchronization On Write flag.
+     *
+     * @param synchronizationOnWrite
+     *      the Synchronization On Write flag
+     */
+    public void setSynchronizationOnWrite( boolean synchronizationOnWrite )
+    {
+        this.synchronizationOnWrite = synchronizationOnWrite;
+    }
+
+
+    /**
+     * Returns the System Partition flag.
+     *
+     * @return
+     *      true if the partition is the System Partition
+     */
+    public boolean isSystemPartition()
+    {
+        return systemPartition;
+    }
+
+
+    /**
+     * Sets the System Partition flag.
+     *
+     * @param systemPartition
+     *      the System Partition flag
+     */
+    public void setSystemPartition( boolean systemPartition )
+    {
+        this.systemPartition = systemPartition;
+    }
+
+
+    /* (non-Javadoc)
+     * @see java.lang.Object#toString()
+     */
+    public String toString()
+    {
+        return id;
+    }
+}

Added: directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ServerConfigurationV150.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ServerConfigurationV150.java?rev=656336&view=auto
==============================================================================
--- directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ServerConfigurationV150.java (added)
+++ directory/studio/trunk/apacheds-configuration/src/main/java/org/apache/directory/studio/apacheds/configuration/model/v150/ServerConfigurationV150.java Wed May 14 10:21:46 2008
@@ -0,0 +1,660 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *  
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *  
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License. 
+ *  
+ */
+package org.apache.directory.studio.apacheds.configuration.model.v150;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.directory.studio.apacheds.configuration.model.AbstractServerConfiguration;
+import org.apache.directory.studio.apacheds.configuration.model.ServerConfiguration;
+import org.apache.directory.studio.apacheds.configuration.model.ServerConfigurationVersionEnum;
+
+
+/**
+ * This class represents a Server Configuration.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class ServerConfigurationV150 extends AbstractServerConfiguration implements ServerConfiguration
+{
+    /** The port */
+    private int port;
+
+    /** The principal */
+    private String principal;
+
+    /** The password */
+    private String password;
+
+    /** The flag for Allow Anonymous Access */
+    private boolean allowAnonymousAccess;
+
+    /** The Max Time Limit */
+    private int maxTimeLimit;
+
+    /** the Max Size Limit */
+    private int maxSizeLimit;
+
+    /** The Synchonization Period */
+    private long synchronizationPeriod;
+
+    /** The Maximum number of Threads */
+    private int maxThreads;
+
+    /** The flag for Enable Access Control */
+    private boolean enableAccessControl;
+
+    /** The flag for Enable Kerberos */
+    private boolean enableKerberos;
+
+    /** The flag for Enable NTP */
+    private boolean enableNTP;
+
+    /** The flag for Enable Change Password */
+    private boolean enableChangePassword;
+
+    /** The flag for Denormalize Operational Attributes */
+    private boolean denormalizeOpAttr;
+
+    /** The Binary Attributes */
+    private List<String> binaryAttributes;
+
+    /** The Partitions */
+    private List<Partition> partitions;
+
+    /** The Interceptors */
+    private List<Interceptor> interceptors;
+
+    /** The Extended Operations */
+    private List<ExtendedOperation> extendedOperations;
+
+
+    /**
+     * Creates a new instance of ServerConfiguration.
+     */
+    public ServerConfigurationV150()
+    {
+        super( ServerConfigurationVersionEnum.VERSION_1_5_0 );
+
+        partitions = new ArrayList<Partition>();
+        interceptors = new ArrayList<Interceptor>();
+        extendedOperations = new ArrayList<ExtendedOperation>();
+        binaryAttributes = new ArrayList<String>();
+    }
+
+
+    /**
+     * Gets the Allow Anonymous flag.
+     *
+     * @return
+     *      true if the server configuration allows Anonymous Access
+     */
+    public boolean isAllowAnonymousAccess()
+    {
+        return allowAnonymousAccess;
+    }
+
+
+    /**
+     * Sets the Allow Anonymous flag.
+     *
+     * @param allowAnonymousAccess
+     *      the new value
+     */
+    public void setAllowAnonymousAccess( boolean allowAnonymousAccess )
+    {
+        this.allowAnonymousAccess = allowAnonymousAccess;
+    }
+
+
+    /**
+     * Gets the Enable Access Control flag.
+     *
+     * @return
+     *      true if Access Control is enabled
+     */
+    public boolean isEnableAccessControl()
+    {
+        return enableAccessControl;
+    }
+
+
+    /**
+     * Sets the Enable Access Control flag.
+     *
+     * @param enableAccessControl
+     *      the new value
+     */
+    public void setEnableAccessControl( boolean enableAccessControl )
+    {
+        this.enableAccessControl = enableAccessControl;
+    }
+
+
+    /**
+     * Gets the Enable Change Password flag.
+     *
+     * @return
+     *      true if Change Password is enabled
+     */
+    public boolean isEnableChangePassword()
+    {
+        return enableChangePassword;
+    }
+
+
+    /**
+     * Sets the Enable Change Password flag.
+     *
+     * @param enableChangePassword
+     *      the new value
+     */
+    public void setEnableChangePassword( boolean enableChangePassword )
+    {
+        this.enableChangePassword = enableChangePassword;
+    }
+
+
+    /**
+     * Gets the Enable Kerberos flag.
+     *
+     * @return
+     *      true if Kerberos is enabled
+     */
+    public boolean isEnableKerberos()
+    {
+        return enableKerberos;
+    }
+
+
+    /**
+     * Sets the Enable Kerberos flag.
+     *
+     * @param enableKerberos
+     *      the new value
+     */
+    public void setEnableKerberos( boolean enableKerberos )
+    {
+        this.enableKerberos = enableKerberos;
+    }
+
+
+    /**
+     * Gets the Enable NTP flag.
+     *
+     * @return
+     *      true if NTP is enabled
+     */
+    public boolean isEnableNTP()
+    {
+        return enableNTP;
+    }
+
+
+    /**
+     * Sets the Enable NTP flag.
+     *
+     * @param enableNTP
+     *      the new value
+     */
+    public void setEnableNTP( boolean enableNTP )
+    {
+        this.enableNTP = enableNTP;
+    }
+
+
+    /**
+     * Gets the Extended Operations List.
+     *
+     * @return
+     *      the Extended Operations List
+     */
+    public List<ExtendedOperation> getExtendedOperations()
+    {
+        return extendedOperations;
+    }
+
+
+    /**
+     * Sets the Extended Operations List.
+     *
+     * @param extendedOperations
+     *      the new value
+     */
+    public void setExtendedOperations( List<ExtendedOperation> extendedOperations )
+    {
+        this.extendedOperations = extendedOperations;
+    }
+
+
+    /**
+     * Adds ab Extended Operation.
+     *
+     * @param extendedOperation
+     *      the Extended Operation to add
+     * @return
+     *      true (as per the general contract of the Collection.add method).
+     */
+    public boolean addExtendedOperation( ExtendedOperation extendedOperation )
+    {
+        return extendedOperations.add( extendedOperation );
+    }
+
+
+    /**
+     * Removes an Extended Operation.
+     *
+     * @param extendedOperation
+     *      the Extended Operation to remove
+     * @return
+     *      true if this list contained the specified element.
+     */
+    public boolean removeExtendedOperation( ExtendedOperation extendedOperation )
+    {
+        return extendedOperations.remove( extendedOperation );
+    }
+
+
+    /**
+     * Removes all ExtendedOperations.
+     */
+    public void clearExtendedOperations()
+    {
+        extendedOperations.clear();
+    }
+
+
+    /**
+     * Gets the Interceptors List.
+     *
+     * @return
+     *      the Interceptors List
+     */
+    public List<Interceptor> getInterceptors()
+    {
+        return interceptors;
+    }
+
+
+    /**
+     * Sets the Interceptors List.
+     *
+     * @param interceptors
+     *      the new value
+     */
+    public void setInterceptors( List<Interceptor> interceptors )
+    {
+        this.interceptors = interceptors;
+    }
+
+
+    /**
+     * Adds an Interceptor.
+     *
+     * @param interceptor
+     *      the Interceptor to add
+     * @return
+     *      true (as per the general contract of the Collection.add method).
+     */
+    public boolean addInterceptor( Interceptor interceptor )
+    {
+        return interceptors.add( interceptor );
+    }
+
+
+    /**
+     * Removes an Interceptor.
+     *
+     * @param interceptor
+     *      the Interceptor to remove
+     * @return
+     *      true if this list contained the specified element.
+     */
+    public boolean removeInterceptor( Interceptor interceptor )
+    {
+        return interceptors.remove( interceptor );
+    }
+
+
+    /**
+     * Removes all interceptors.
+     */
+    public void clearInterceptors()
+    {
+        interceptors.clear();
+    }
+
+
+    /**
+     * Gets the Maximum Size Limit.
+     *
+     * @return
+     *      the Maximum Size Limit
+     */
+    public int getMaxSizeLimit()
+    {
+        return maxSizeLimit;
+    }
+
+
+    /**
+     * Sets the Maximum Size Limit.
+     *
+     * @param maxSizeLimit
+     *      the new value
+     */
+    public void setMaxSizeLimit( int maxSizeLimit )
+    {
+        this.maxSizeLimit = maxSizeLimit;
+    }
+
+
+    /**
+     * Gets the Maximum number of Threads.
+     *
+     * @return
+     *      the Maximum number of Threads
+     */
+    public int getMaxThreads()
+    {
+        return maxThreads;
+    }
+
+
+    /**
+     * Sets the Maximum number of Threads
+     *
+     * @param maxThreads
+     *      the new value
+     */
+    public void setMaxThreads( int maxThreads )
+    {
+        this.maxThreads = maxThreads;
+    }
+
+
+    /**
+     * Gets the Maximum Time Limit.
+     *
+     * @return
+     *      the Maximum Time Limit
+     */
+    public int getMaxTimeLimit()
+    {
+        return maxTimeLimit;
+    }
+
+
+    /**
+     * Sets the Maximum Time Limit.
+     *
+     * @param maxTimeLimit
+     *      the new value
+     */
+    public void setMaxTimeLimit( int maxTimeLimit )
+    {
+        this.maxTimeLimit = maxTimeLimit;
+    }
+
+
+    /**
+     * Gets the Partitions List.
+     *
+     * @return
+     *      the Partitions List
+     */
+    public List<Partition> getPartitions()
+    {
+        return partitions;
+    }
+
+
+    /**
+     * Sets the Partitions List.
+     *
+     * @param partitions
+     *      the new value
+     */
+    public void setPartitions( List<Partition> partitions )
+    {
+        this.partitions = partitions;
+    }
+
+
+    /**
+     * Adds a Partition.
+     *
+     * @param partition
+     *      the Partition to add
+     * @return
+     *      true (as per the general contract of the Collection.add method).
+     */
+    public boolean addPartition( Partition partition )
+    {
+        return partitions.add( partition );
+    }
+
+
+    /**
+     * Removes a Partition.
+     *
+     * @param partition
+     *      the partition to remove
+     * @return
+     *      true if this list contained the specified element.
+     */
+    public boolean removePartition( Partition partition )
+    {
+        return partitions.remove( partition );
+    }
+
+
+    /**
+     * Removes all partitions.
+     */
+    public void clearPartitions()
+    {
+        partitions.clear();
+    }
+
+
+    /**
+     * Gets the password.
+     *
+     * @return
+     *      the password
+     */
+    public String getPassword()
+    {
+        return password;
+    }
+
+
+    /**
+     * Sets the password.
+     *
+     * @param password
+     *      the new password
+     */
+    public void setPassword( String password )
+    {
+        this.password = password;
+    }
+
+
+    /**
+     * Gets the Port.
+     *
+     * @return
+     *      the Port
+     */
+    public int getPort()
+    {
+        return port;
+    }
+
+
+    /**
+     * Sets the Port
+     *
+     * @param port
+     *      the new value
+     */
+    public void setPort( int port )
+    {
+        this.port = port;
+    }
+
+
+    /**
+     * Gets the Principal
+     *
+     * @return
+     *      the Principal
+     */
+    public String getPrincipal()
+    {
+        return principal;
+    }
+
+
+    /**
+     * Sets the Principal
+     *
+     * @param principal
+     *      the new value
+     */
+    public void setPrincipal( String principal )
+    {
+        this.principal = principal;
+    }
+
+
+    /**
+     * Gets the Synchronization Period.
+     *
+     * @return
+     *      the Synchronization Period
+     */
+    public long getSynchronizationPeriod()
+    {
+        return synchronizationPeriod;
+    }
+
+
+    /**
+     * Sets the Synchonization Period.
+     *
+     * @param synchronizationPeriod
+     *      the new value
+     */
+    public void setSynchronizationPeriod( long synchronizationPeriod )
+    {
+        this.synchronizationPeriod = synchronizationPeriod;
+    }
+
+
+    /**
+     * Gets the Denormalize Operational Attributes flag.
+     *
+     * @return
+     *      the Denormalize Operational Attributes flag
+     */
+    public boolean isDenormalizeOpAttr()
+    {
+        return denormalizeOpAttr;
+    }
+
+
+    /**
+     * Sets the Denormalize Operational Attributes flag.
+     *
+     * @param denormalizeOpAttr
+     *      the new Denormalize Operational Attributes flag
+     */
+    public void setDenormalizeOpAttr( boolean denormalizeOpAttr )
+    {
+        this.denormalizeOpAttr = denormalizeOpAttr;
+    }
+
+
+    /**
+     * Gets the Binary Attributes List.
+     *
+     * @return
+     *      the Binary Attributes  List
+     */
+    public List<String> getBinaryAttributes()
+    {
+        return binaryAttributes;
+    }
+
+
+    /**
+     * Sets the Binary Attributes  List.
+     *
+     * @param binaryAttributes
+     *      the new value
+     */
+    public void setBinaryAttributes( List<String> binaryAttributes )
+    {
+        this.binaryAttributes = binaryAttributes;
+    }
+
+
+    /**
+     * Adds a Binary Attribute.
+     *
+     * @param binaryAttribute
+     *      the Partition to add
+     * @return
+     *      true (as per the general contract of the Collection.add method).
+     */
+    public boolean addBinaryAttribute( String binaryAttribute )
+    {
+        return binaryAttributes.add( binaryAttribute );
+    }
+
+
+    /**
+     * Removes a Binary Attribute.
+     *
+     * @param binaryAttribute
+     *      the Binary Attribute to remove
+     * @return
+     *      true if this list contained the specified element.
+     */
+    public boolean removeBinaryAttribute( String binaryAttribute )
+    {
+        return binaryAttributes.remove( binaryAttribute );
+    }
+
+
+    /**
+     * Removes all Binary Attributes.
+     */
+    public void clearBinaryAttributes()
+    {
+        binaryAttributes.clear();
+    }
+
+}