You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2007/01/15 23:31:50 UTC

svn commit: r496521 - in /directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core: internal/model/ model/

Author: seelmann
Date: Mon Jan 15 14:31:49 2007
New Revision: 496521

URL: http://svn.apache.org/viewvc?view=rev&rev=496521
Log:
Added Javadoc, removed warings.

Modified:
    directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/Attribute.java
    directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/Value.java
    directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/AttributeHierarchy.java
    directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/IAttribute.java
    directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/IValue.java
    directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/URL.java

Modified: directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/Attribute.java
URL: http://svn.apache.org/viewvc/directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/Attribute.java?view=diff&rev=496521&r1=496520&r2=496521
==============================================================================
--- directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/Attribute.java (original)
+++ directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/Attribute.java Mon Jan 15 14:31:49 2007
@@ -22,7 +22,6 @@
 
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 
@@ -46,31 +45,36 @@
 import org.eclipse.search.ui.ISearchPageScoreComputer;
 
 
+/**
+ * Default implementation of IAttribute.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
 public class Attribute implements IAttribute
 {
 
+    /** The serialVersionUID. */
     private static final long serialVersionUID = -5679384884002589786L;
 
+    /** The attribute description */
     private AttributeDescription attributeDescription;
 
+    /** The entry this attribute belongs to */
     private IEntry entry;
 
-    private List valueList;
-
-
-    protected Attribute()
-    {
-    }
+    /** The values */
+    private List<IValue> valueList;
 
 
     /**
-     * Creates an Attribute with the given description and no value for the
-     * given entry.
+     * Creates an new instance of Attribute with the given description
+     * and no value.
      * 
      * @param entry
      *                The entry of this attribute, mustn't be null
      * @param description
-     *                The attribute descrption, mustn't be null or empty.
+     *                The attribute descrption, mustn't be null.
      * @throws ModelModificationException
      *                 if the attribute name is null or empty.
      */
@@ -80,33 +84,38 @@
         {
             throw new ModelModificationException( BrowserCoreMessages.model__empty_entry );
         }
-        if ( description == null /* || "".equals(description) */)
-        { //$NON-NLS-1$
+        if ( description == null )
+        {
             throw new ModelModificationException( BrowserCoreMessages.model__empty_attribute );
         }
 
         this.entry = entry;
         this.attributeDescription = new AttributeDescription( description );
-        this.valueList = new ArrayList();
-        // this.valueList = new LinkedHashSet();
+        this.valueList = new ArrayList<IValue>();
 
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public IEntry getEntry()
     {
-        return this.entry;
+        return entry;
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isConsistent()
     {
-        if ( this.valueList.isEmpty() )
+        if ( valueList.isEmpty() )
         {
             return false;
         }
 
-        for ( Iterator it = this.valueList.iterator(); it.hasNext(); )
+        for ( Iterator it = valueList.iterator(); it.hasNext(); )
         {
             IValue value = ( IValue ) it.next();
             if ( value.isEmpty() )
@@ -119,19 +128,22 @@
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isMustAttribute()
     {
-        if ( this.isObjectClassAttribute() )
+        if ( isObjectClassAttribute() )
         {
             return true;
         }
         else
         {
-            String[] mustAttributeNames = this.entry.getSubschema().getMustAttributeNames();
+            String[] mustAttributeNames = getEntry().getSubschema().getMustAttributeNames();
             for ( int i = 0; i < mustAttributeNames.length; i++ )
             {
                 String must = mustAttributeNames[i];
-                if ( must.equalsIgnoreCase( this.getType() ) )
+                if ( must.equalsIgnoreCase( getType() ) )
                 {
                     return true;
                 }
@@ -141,45 +153,61 @@
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isMayAttribute()
     {
-        // return
-        // Arrays.asList(this.entry.getSubschema().getMayAttributeNames()).contains(this.getType());
         return !isObjectClassAttribute() && !isMustAttribute() && !isOperationalAttribute();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isOperationalAttribute()
     {
         return getAttributeTypeDescription() == null || SchemaUtils.isOperational( getAttributeTypeDescription() );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isObjectClassAttribute()
     {
-        return OBJECTCLASS_ATTRIBUTE.equalsIgnoreCase( this.getDescription() );
+        return OBJECTCLASS_ATTRIBUTE.equalsIgnoreCase( getDescription() );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isString()
     {
-        return !this.isBinary();
+        return !isBinary();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isBinary()
     {
-        return this.getAttributeTypeDescription().isBinary();
+        return getAttributeTypeDescription().isBinary();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public void addEmptyValue( ModelModifier source )
     {
         try
         {
             IValue emptyValue = new Value( this );
-            this.valueList.add( emptyValue );
-            this.attributeModified( new EmptyValueAddedEvent( this.entry.getConnection(), this.entry, this, emptyValue,
+            valueList.add( emptyValue );
+            this.attributeModified( new EmptyValueAddedEvent( getEntry().getConnection(), getEntry(), this, emptyValue,
                 source ) );
         }
         catch ( ModelModificationException mme )
@@ -189,6 +217,9 @@
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public void deleteEmptyValue( ModelModifier source )
     {
         for ( Iterator it = this.valueList.iterator(); it.hasNext(); )
@@ -197,20 +228,31 @@
             if ( value.isEmpty() )
             {
                 it.remove();
-                this.attributeModified( new EmptyValueDeletedEvent( this.entry.getConnection(), this.entry, this,
-                    value, source ) );
+                attributeModified( new EmptyValueDeletedEvent( getEntry().getConnection(), getEntry(), this, value,
+                    source ) );
                 return;
             }
         }
     }
 
 
+    /**
+     * Fires an EntryModificationEvent.
+     *
+     * @param event the EntryModificationEvent
+     */
     private void attributeModified( EntryModificationEvent event )
     {
-        EventRegistry.fireEntryUpdated( event, this.getEntry() );
+        EventRegistry.fireEntryUpdated( event, getEntry() );
     }
 
 
+    /**
+     * Checks if the given value is valid.
+     *
+     * @param value the value to check
+     * @throws ModelModificationException if the value is not valid
+     */
     private void checkValue( IValue value ) throws ModelModificationException
     {
         if ( value == null )
@@ -224,9 +266,15 @@
     }
 
 
+    /**
+     * Deletes the given value from value list.
+     *
+     * @param valueToDelete the value to delete
+     * @return true if deleted
+     */
     private boolean deleteValue( IValue valueToDelete )
     {
-        for ( Iterator it = this.valueList.iterator(); it.hasNext(); )
+        for ( Iterator it = valueList.iterator(); it.hasNext(); )
         {
             IValue value = ( IValue ) it.next();
             if ( value.equals( valueToDelete ) )
@@ -239,28 +287,36 @@
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public void addValue( IValue valueToAdd, ModelModifier source ) throws ModelModificationException
     {
         this.checkValue( valueToAdd );
 
-        this.valueList.add( valueToAdd );
-        this
-            .attributeModified( new ValueAddedEvent( this.entry.getConnection(), this.entry, this, valueToAdd, source ) );
+        valueList.add( valueToAdd );
+        attributeModified( new ValueAddedEvent( getEntry().getConnection(), getEntry(), this, valueToAdd, source ) );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public void deleteValue( IValue valueToDelete, ModelModifier source ) throws ModelModificationException
     {
         this.checkValue( valueToDelete );
 
         if ( this.deleteValue( valueToDelete ) )
         {
-            this.attributeModified( new ValueDeletedEvent( this.entry.getConnection(), this.entry, this, valueToDelete,
+            this.attributeModified( new ValueDeletedEvent( getEntry().getConnection(), getEntry(), this, valueToDelete,
                 source ) );
         }
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public void modifyValue( IValue oldValue, IValue newValue, ModelModifier source ) throws ModelModificationException
     {
         this.checkValue( oldValue );
@@ -268,41 +324,59 @@
 
         this.deleteValue( oldValue );
         this.valueList.add( newValue );
-        this.attributeModified( new ValueModifiedEvent( this.entry.getConnection(), this.entry, this, oldValue,
+        this.attributeModified( new ValueModifiedEvent( getEntry().getConnection(), getEntry(), this, oldValue,
             newValue, source ) );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public IValue[] getValues()
     {
-        return ( IValue[] ) this.valueList.toArray( new IValue[0] );
+        return ( IValue[] ) valueList.toArray( new IValue[0] );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public int getValueSize()
     {
         return this.valueList.size();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public String getDescription()
     {
-        return this.attributeDescription.getDescription();
+        return getAttributeDescription().getDescription();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public String getType()
     {
-        return this.attributeDescription.getParsedAttributeType();
+        return getAttributeDescription().getParsedAttributeType();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public String toString()
     {
-        return this.getDescription();
+        return getDescription();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean equals( Object o )
     {
         // check argument
@@ -313,41 +387,50 @@
         IAttribute a = ( IAttribute ) o;
 
         // compare entries
-        if ( !this.getEntry().equals( a.getEntry() ) )
+        if ( !getEntry().equals( a.getEntry() ) )
         {
             return false;
         }
 
         // compare attribute description
-        return this.getDescription().equals( a.getDescription() );
+        return getDescription().equals( a.getDescription() );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public int hashCode()
     {
-        return this.getDescription().hashCode();
+        return getDescription().hashCode();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public byte[][] getBinaryValues()
     {
-        List binaryValueList = new ArrayList();
+        List<byte[]> binaryValueList = new ArrayList<byte[]>();
 
-        IValue[] values = this.getValues();
+        IValue[] values = getValues();
         for ( int i = 0; i < values.length; i++ )
         {
             binaryValueList.add( values[i].getBinaryValue() );
         }
 
-        return ( byte[][] ) binaryValueList.toArray( new byte[0][] );
+        return binaryValueList.toArray( new byte[0][] );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public String getStringValue()
     {
         if ( getValueSize() > 0 )
         {
-            return ( ( IValue ) this.valueList.get( 0 ) ).getStringValue();
+            return ( ( IValue ) valueList.get( 0 ) ).getStringValue();
         }
         else
         {
@@ -356,42 +439,52 @@
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public String[] getStringValues()
     {
-        List stringValueList = new ArrayList();
+        List<String> stringValueList = new ArrayList<String>();
 
-        IValue[] values = this.getValues();
+        IValue[] values = getValues();
         for ( int i = 0; i < values.length; i++ )
         {
             stringValueList.add( values[i].getStringValue() );
         }
 
-        return ( String[] ) stringValueList.toArray( new String[stringValueList.size()] );
+        return stringValueList.toArray( new String[stringValueList.size()] );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public AttributeTypeDescription getAttributeTypeDescription()
     {
-        return getEntry().getConnection().getSchema().getAttributeTypeDescription( this.getType() );
+        return getEntry().getConnection().getSchema().getAttributeTypeDescription( getType() );
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public Object getAdapter( Class adapter )
     {
 
-        if ( adapter.isAssignableFrom( ISearchPageScoreComputer.class ) )
+        Class<?> clazz = ( Class<?> ) adapter;
+        if ( clazz.isAssignableFrom( ISearchPageScoreComputer.class ) )
         {
             return new LdapSearchPageScoreComputer();
         }
-        if ( adapter == IConnection.class )
+        if ( clazz.isAssignableFrom( IConnection.class ) )
         {
-            return this.getConnection();
+            return getEntry().getConnection();
         }
-        if ( adapter == IEntry.class )
+        if ( clazz.isAssignableFrom( IEntry.class ) )
         {
-            return this.getEntry();
+            return getEntry();
         }
-        if ( adapter == IAttribute.class )
+        if ( clazz.isAssignableFrom( IAttribute.class ) )
         {
             return this;
         }
@@ -400,18 +493,9 @@
     }
 
 
-    public IConnection getConnection()
-    {
-        return this.entry.getConnection();
-    }
-
-
-    public IAttribute getAttribute()
-    {
-        return this;
-    }
-
-
+    /**
+     * {@inheritDoc}
+     */
     public AttributeDescription getAttributeDescription()
     {
         return attributeDescription;

Modified: directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/Value.java
URL: http://svn.apache.org/viewvc/directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/Value.java?view=diff&rev=496521&r1=496520&r2=496521
==============================================================================
--- directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/Value.java (original)
+++ directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/Value.java Mon Jan 15 14:31:49 2007
@@ -36,22 +36,30 @@
 
 /**
  * Default implementation of IValue.
+ * 
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
  */
 public class Value implements IValue
 {
 
+    /** The serialVersionUID. */
     private static final long serialVersionUID = -9039209604742682740L;
 
+    /** The attribute this value belongs to */
     private IAttribute attribute;
 
+    /** The raw value, either a String or a byte[] */
     private Object rawValue;
 
 
-    protected Value()
-    {
-    }
-
-
+    /**
+     * Creates a new instance of Value.
+     *
+     * @param attribute the attribute this value belongs to 
+     * @param rawValue the raw value, either a String or a byte[]
+     * @throws ModelModificationException if one of the parameter is null
+     */
     public Value( IAttribute attribute, Object rawValue ) throws ModelModificationException
     {
         this.init( attribute, rawValue );
@@ -63,12 +71,25 @@
     }
 
 
+    /**
+     * Creates a new instance of Value with an empty value.
+     *
+     * @param attribute the attribute this value belongs to
+     * @throws ModelModificationException if one of the parameter is null
+     */
     public Value( IAttribute attribute ) throws ModelModificationException
     {
         this.init( attribute, null );
     }
 
 
+    /**
+     * Initializes this Value.
+     *
+     * @param attribute the attribute this value belongs to 
+     * @param rawValue the raw value, either a String or a byte[] or null 
+     * @throws ModelModificationException
+     */
     private void init( IAttribute attribute, Object rawValue ) throws ModelModificationException
     {
         if ( attribute == null )
@@ -96,18 +117,27 @@
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public IAttribute getAttribute()
     {
         return this.attribute;
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public Object getRawValue()
     {
         return this.rawValue;
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public String getStringValue()
     {
 
@@ -134,9 +164,11 @@
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public byte[] getBinaryValue()
     {
-
         if ( this.rawValue == EMPTY_STRING_VALUE )
         {
             return EMPTY_STRING_VALUE.getBinaryValue();
@@ -160,24 +192,36 @@
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isString()
     {
         return this.rawValue == EMPTY_STRING_VALUE || this.attribute.isString();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isBinary()
     {
         return this.rawValue == EMPTY_BINARY_VALUE || this.attribute.isBinary();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean isEmpty()
     {
         return this.rawValue == EMPTY_STRING_VALUE || this.rawValue == EMPTY_BINARY_VALUE;
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean equals( Object o )
     {
         // check argument
@@ -213,37 +257,47 @@
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public int hashCode()
     {
         return rawValue.hashCode();
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public String toString()
     {
         return attribute + ":" + ( this.isString() ? this.getStringValue() : "BINARY" ); //$NON-NLS-1$ //$NON-NLS-2$
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public Object getAdapter( Class adapter )
     {
-        if ( adapter.isAssignableFrom( ISearchPageScoreComputer.class ) )
+        Class<?> clazz = ( Class<?> ) adapter;
+        if ( clazz.isAssignableFrom( ISearchPageScoreComputer.class ) )
         {
             return new LdapSearchPageScoreComputer();
         }
-        if ( adapter == IConnection.class )
+        if ( clazz.isAssignableFrom( IConnection.class ) )
         {
-            return this.getConnection();
+            return getAttribute().getEntry().getConnection();
         }
-        if ( adapter == IEntry.class )
+        if ( clazz.isAssignableFrom( IEntry.class ) )
         {
-            return this.getEntry();
+            return getAttribute().getEntry();
         }
-        if ( adapter == IAttribute.class )
+        if ( clazz.isAssignableFrom( IAttribute.class ) )
         {
-            return this.getAttribute();
+            return getAttribute();
         }
-        if ( adapter == IValue.class )
+        if ( clazz.isAssignableFrom( IValue.class ) )
         {
             return this;
         }
@@ -251,24 +305,9 @@
     }
 
 
-    public IConnection getConnection()
-    {
-        return this.attribute.getEntry().getConnection();
-    }
-
-
-    public IEntry getEntry()
-    {
-        return this.attribute.getEntry();
-    }
-
-
-    public IValue getValue()
-    {
-        return this;
-    }
-
-
+    /**
+     * {@inheritDoc}
+     */
     public boolean isRdnPart()
     {
         RDNPart[] parts = getAttribute().getEntry().getRdn().getParts();
@@ -282,4 +321,5 @@
         }
         return false;
     }
+
 }

Modified: directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/AttributeHierarchy.java
URL: http://svn.apache.org/viewvc/directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/AttributeHierarchy.java?view=diff&rev=496521&r1=496520&r2=496521
==============================================================================
--- directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/AttributeHierarchy.java (original)
+++ directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/AttributeHierarchy.java Mon Jan 15 14:31:49 2007
@@ -25,16 +25,38 @@
 import java.util.Iterator;
 
 
+/**
+ * An AttributeHierarchy is a container for an attribute including all its subtypes. 
+ * <p>
+ * Example:
+ * <ul>
+ * <li>attributeDescription is <code>name</code>
+ * <li>attributes contains <code>cn:test1</code>, <code>sn:test2</code> and <code>givenName:test3</code>
+ * </ul>
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
 public class AttributeHierarchy
 {
 
+    /** The entry */
     private IEntry entry;
 
+    /** The attribute description */
     private String attributeDescription;
 
+    /** The attributes */
     private IAttribute[] attributes;
 
 
+    /**
+     * Creates a new instance of AttributeHierarchy.
+     *
+     * @param entry the entry
+     * @param attributeDescription the attribute description
+     * @param attributes the attributes
+     */
     public AttributeHierarchy( IEntry entry, String attributeDescription, IAttribute[] attributes )
     {
         if ( entry == null || attributeDescription == null || attributes == null || attributes.length < 1
@@ -48,42 +70,79 @@
     }
 
 
+    /**
+     * Gets the attributes.
+     *
+     * @return the attributes
+     */
     public IAttribute[] getAttributes()
     {
         return attributes;
     }
 
 
-    public boolean contains( IAttribute att )
-    {
-        return Arrays.asList( attributes ).contains( att );
+    /**
+     * Checks whether the given attribute is contained 
+     * in this attribute hierarchy. 
+     *
+     * @param attribute the attribute to check
+     * @return true if the attribute is contained in this attribute hierarchy
+     */
+    public boolean contains( IAttribute attribute )
+    {
+        return Arrays.asList( attributes ).contains( attribute );
     }
 
 
-    public Iterator iterator()
+    /**
+     * Returns an iterator over the elements of this attribute hierarchy.
+     *
+     * @return an iterator over the elements of this attribute hierarchy
+     */
+    public Iterator<IAttribute> iterator()
     {
         return Arrays.asList( attributes ).iterator();
     }
 
 
+    /**
+     * Gets the first attribute.
+     *
+     * @return the first attribute
+     */
     public IAttribute getAttribute()
     {
         return attributes[0];
     }
 
 
+    /**
+     * Gets the number of attributes.
+     *
+     * @return the number of attributes
+     */
     public int size()
     {
         return attributes.length;
     }
 
 
+    /**
+     * Gets the attribute description.
+     *
+     * @return the attribute description
+     */
     public String getAttributeDescription()
     {
         return attributeDescription;
     }
 
 
+    /**
+     * Gets the entry.
+     *
+     * @return the entry
+     */
     public IEntry getEntry()
     {
         return entry;

Modified: directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/IAttribute.java
URL: http://svn.apache.org/viewvc/directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/IAttribute.java?view=diff&rev=496521&r1=496520&r2=496521
==============================================================================
--- directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/IAttribute.java (original)
+++ directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/IAttribute.java Mon Jan 15 14:31:49 2007
@@ -33,7 +33,7 @@
 
 
 /**
- * The IAttribute interface represents an LDAP attribute.
+ * An IAttribute represents an LDAP attribute.
  */
 public interface IAttribute extends Serializable, IAdaptable, AttributePropertyPageProvider, EntryPropertyPageProvider,
     ConnectionPropertyPageProvider
@@ -134,39 +134,27 @@
      */
     public static final String OPERATIONAL_ATTRIBUTE_VENDOR_VERSION = "vendorVersion"; //$NON-NLS-1$
 
-    /**
-     * objectClass
-     */
+    /** The attribute type objectClass */
     public static final String OBJECTCLASS_ATTRIBUTE = "objectClass"; //$NON-NLS-1$
 
-    /**
-     * objectClass
-     */
+    /** The OID of the objectClass attribute, 2.5.4.0 */
     public static final String OBJECTCLASS_ATTRIBUTE_OID = "2.5.4.0"; //$NON-NLS-1$
 
-    /**
-     * ref
-     */
+    /** The attribute type ref */
     public static final String REFERRAL_ATTRIBUTE = "ref"; //$NON-NLS-1$
 
-    /**
-     * aliasedObjectName
-     */
+    /** The attribute type aliasedObjectName */
     public static final String ALIAS_ATTRIBUTE = "aliasedObjectName"; //$NON-NLS-1$
 
-    /**
-     * ;
-     */
+    /** The options delimiter ';' */
     public static final String OPTION_DELIMITER = ";"; //$NON-NLS-1$
 
-    /**
-     * lang-
-     */
+    /** The language tag prefix 'lang-' */
     public static final String OPTION_LANG_PREFIX = "lang-"; //$NON-NLS-1$
 
 
     /**
-     * Returns the entry of this attribute.
+     * Gets the entry of this attribute.
      * 
      * @return the entry of this attribute, never null
      */
@@ -178,8 +166,8 @@
      * conditions must be fulfilled:
      * 
      * <ul>
-     * <li>There must be at least one value</li>
-     * <li>There mustn't be any empty value</li>
+     * <li>The attribute must contain at least one value</li>
+     * <li>The attribute mustn't contain any empty value</li>
      * </ul>
      * 
      * @return true if the attribute ist consistent
@@ -189,7 +177,7 @@
 
     /**
      * Returns true if this attribute is a must attribute of its entry
-     * according to the entry's subschema.
+     * according to the schema and the entry's object classes.
      * 
      * @return true if this attribute is a must attribute of its entry.
      */
@@ -198,7 +186,7 @@
 
     /**
      * Returns true if this attribute is a may attribute of its entry
-     * according to the entry's subschema.
+     * according to the schema and the entry's object classes.
      * 
      * @return true if this attribute is a may attribute of its entry.
      */
@@ -207,7 +195,7 @@
 
     /**
      * Returns true if this attribute is an operational attribute according
-     * to the entry's subschema.
+     * to the schema.
      * 
      * @return true if this attribute is an operational attribute.
      */
@@ -215,9 +203,9 @@
 
 
     /**
-     * Return true if this attribute is the objectclass attribute.
+     * Return true if this attribute is the objeCtclass attribute.
      * 
-     * @return true if this attribute is the objectclass attribute.
+     * @return true if this attribute is the objectClass attribute.
      */
     public abstract boolean isObjectClassAttribute();
 
@@ -303,16 +291,15 @@
 
 
     /**
-     * Returns the values of this attribute, wrapped into IValue objects.
+     * Gets the values of this attribute.
      * 
-     * @return the values of this attribute, may be an empty array, never
-     *         null.
+     * @return the values of this attribute, may be an empty array, never null.
      */
     public abstract IValue[] getValues();
 
 
     /**
-     * Returns the number of values in this attribute.
+     * Gets the number of values in this attribute.
      * 
      * @return the number of values in this attribute.
      */
@@ -320,7 +307,8 @@
 
 
     /**
-     * Returns the description of this attribute.
+     * Gets the description of this attribute. The description 
+     * consists of the attribute type and optional options.
      * 
      * @return the description of this attribute.
      */
@@ -328,7 +316,7 @@
 
 
     /**
-     * Returns the type of this attribute (description without options).
+     * Gets the type of this attribute (description without options).
      * 
      * @return the attribute type.
      */
@@ -336,7 +324,7 @@
 
 
     /**
-     * Returns all values as byte[]. If the values aren't binary they are
+     * Gets all values as byte[]. If the values aren't binary they are
      * converted to byte[] using UTF-8 encoding.
      * 
      * @return The binary values
@@ -345,7 +333,7 @@
 
 
     /**
-     * Returns the first value as string if one is present, null otherwise
+     * Gets the first value as string if one is present, null otherwise
      * 
      * @return The first value if one present, null otherwise
      */
@@ -353,7 +341,7 @@
 
 
     /**
-     * Returns all values as String. If the values aren't strings they are
+     * Gets all values as String. If the values aren't strings they are
      * converted using UTF-8 encoding.
      * 
      * @return The string values
@@ -376,7 +364,7 @@
 
 
     /**
-     * Returns the AttributeTypeDescription of this attribute.
+     * Gets the AttributeTypeDescription of this attribute.
      * 
      * @return the AttributeTypeDescription of this attribute, may be the
      *         default or a dummy
@@ -385,7 +373,7 @@
 
 
     /**
-     * Returns the AttributeDescription of this attribute.
+     * Gets the AttributeDescription of this attribute.
      * 
      * @return the AttributeDescription of this attribute,.
      */

Modified: directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/IValue.java
URL: http://svn.apache.org/viewvc/directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/IValue.java?view=diff&rev=496521&r1=496520&r2=496521
==============================================================================
--- directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/IValue.java (original)
+++ directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/IValue.java Mon Jan 15 14:31:49 2007
@@ -32,26 +32,53 @@
 
 
 /**
- * A wrapper for raw LDAP values.
+ * An IValue represents a value of a LDAP attribute.
+ * 
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
  */
 public interface IValue extends Serializable, IAdaptable, ValuePropertyPageProvider, AttributePropertyPageProvider,
     EntryPropertyPageProvider, ConnectionPropertyPageProvider
 {
 
+    /**
+     * EmptyValue is used to indicate an empty value.
+     *
+     * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+     * @version $Rev$, $Date$
+     */
     interface EmptyValue
     {
-        public String toString();
-
 
+        /**
+         * Gets the string value.
+         *
+         * @return the string value
+         */
         public String getStringValue();
 
 
+        /**
+         * Gets the binary value.
+         * 
+         * @return the binary value
+         */
         public byte[] getBinaryValue();
 
 
+        /**
+         * Checks if is string.
+         * 
+         * @return true, if is string
+         */
         public boolean isString();
 
 
+        /**
+         * Checks if is binary.
+         * 
+         * @return true, if is binary
+         */
         public boolean isBinary();
     }
 
@@ -60,30 +87,46 @@
      */
     public static final EmptyValue EMPTY_STRING_VALUE = new EmptyValue()
     {
+
+        /**
+         * {@inheritDoc}
+         */
         public String toString()
         {
             return BrowserCoreMessages.model__empty_string_value;
         }
 
 
+        /**
+         * {@inheritDoc}
+         */
         public boolean isString()
         {
             return true;
         }
 
 
+        /**
+         * {@inheritDoc}
+         */
         public boolean isBinary()
         {
             return false;
         }
 
 
+        /**
+         * {@inheritDoc}
+         */
         public byte[] getBinaryValue()
         {
             return new byte[0];
         }
 
 
+        /**
+         * {@inheritDoc}
+         */
         public String getStringValue()
         {
             return ""; //$NON-NLS-1$
@@ -95,30 +138,46 @@
      */
     public static final EmptyValue EMPTY_BINARY_VALUE = new EmptyValue()
     {
+
+        /**
+         * {@inheritDoc}
+         */
         public String toString()
         {
             return BrowserCoreMessages.model__empty_binary_value;
         }
 
 
+        /**
+         * {@inheritDoc}
+         */
         public boolean isString()
         {
             return false;
         }
 
 
+        /**
+         * {@inheritDoc}
+         */
         public boolean isBinary()
         {
             return true;
         }
 
 
+        /**
+         * {@inheritDoc}
+         */
         public byte[] getBinaryValue()
         {
             return new byte[0];
         }
 
 
+        /**
+         * {@inheritDoc}
+         */
         public String getStringValue()
         {
             return ""; //$NON-NLS-1$
@@ -135,7 +194,7 @@
 
 
     /**
-     * Returns the raw value or an EmptyValue
+     * Gets the raw value or an EmptyValue
      * 
      * @return The raw value or an EmptyValue, never null.
      */
@@ -143,7 +202,10 @@
 
 
     /**
-     * Returns the String value of this value.
+     * Gets the string value of this value.
+     * 
+     * If the value is binary a String with UTF-8 decoded
+     * byte[] is returned. 
      * 
      * @return the String value
      */
@@ -151,7 +213,10 @@
 
 
     /**
-     * Returns the binary value of this value.
+     * Gets the binary value of this value.
+     * 
+     * If the value is string a byte[] with the 
+     * UTF-8 encoded String is returned. 
      * 
      * @return the binary value
      */
@@ -159,9 +224,11 @@
 
 
     /**
-     * Return true if the value is empty.
+     * Returns true if the value is empty.
+     * 
+     * A value is empty if its raw value is an EmptyValue.
      * 
-     * @return true if the value is the empty.
+     * @return true if the value is empty.
      */
     public abstract boolean isEmpty();
 
@@ -183,9 +250,9 @@
 
 
     /**
-     * Returns true if this value is part of its entries RDN.
+     * Returns true if this value is part of its entry's RDN.
      * 
-     * @return true if this value is part of its entries RDN.
+     * @return true if this value is part of its entry's RDN.
      */
     public abstract boolean isRdnPart();
 

Modified: directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/URL.java
URL: http://svn.apache.org/viewvc/directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/URL.java?view=diff&rev=496521&r1=496520&r2=496521
==============================================================================
--- directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/URL.java (original)
+++ directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/model/URL.java Mon Jan 15 14:31:49 2007
@@ -23,12 +23,17 @@
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
-import java.util.Arrays;
 
 import org.apache.directory.ldapstudio.browser.core.BrowserCoreMessages;
 import org.apache.directory.ldapstudio.browser.core.utils.Utils;
 
 
+/**
+ * An URL represents a LDAP URL.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
 public class URL
 {
 
@@ -51,23 +56,37 @@
     // token = oid from section 4.1 of [3]
     // xtoken = ("X-" / "x-") token
 
+    /** The protocoll, ldap or ldaps */
     private String protocol = null;
 
+    /** The host */
     private String host = null;
 
+    /** The port */
     private String port = null;
 
+    /** The dn */
     private String dn = null;
 
+    /** The attributes */
     private String attributes = null;
 
+    /** The scope */
     private String scope = null;
 
+    /** The filter */
     private String filter = null;
 
+    /** The extensions */
     private String extensions = null;
 
 
+    /**
+     * Creates a new instance of URL. The given string is 
+     * parsed to an URL.
+     *
+     * @param url the URL
+     */
     public URL( String url )
     {
         if ( url == null )
@@ -79,6 +98,13 @@
     }
 
 
+    /**
+     * Creates a new instance of URL, based on the given connection and DN. 
+     * Only the fields protocol, host, port and dn exists when using this constructor.
+     *
+     * @param connection the connection
+     * @param dn the DN
+     */
     public URL( IConnection connection, DN dn )
     {
         this( connection );
@@ -92,6 +118,12 @@
     }
 
 
+    /**
+     * Creates a new instance of URL, based on the given connection. Only
+     * the fields protocol, host and port exists when using this constructor.
+     *
+     * @param connection the connection
+     */
     public URL( IConnection connection )
     {
         if ( connection == null )
@@ -112,6 +144,12 @@
     }
 
 
+    /**
+     * Creates a new instance of URL, based on the given search. Initializes
+     * the fields protocol, host, port, dn, attributes, scope and filter.
+     *
+     * @param search the search
+     */
     public URL( ISearch search )
     {
         this( search.getConnection(), search.getSearchBase() );
@@ -129,6 +167,9 @@
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public boolean equals( Object o ) throws ClassCastException
     {
         if ( o instanceof URL )
@@ -139,12 +180,18 @@
     }
 
 
+    /**
+     * {@inheritDoc}
+     */
     public int hashCode()
     {
         return this.toString().hashCode();
     }
 
 
+    /**
+     * Returns the string representation of this LDAP URL.
+     */
     public String toString()
     {
         StringBuffer sb = new StringBuffer();
@@ -188,6 +235,11 @@
     }
 
 
+    /**
+     * Parses the given string represntation of the URL.
+     *
+     * @param url the URL
+     */
     private void parseUrl( String url )
     {
 
@@ -286,25 +338,11 @@
     }
 
 
-    public static final void main( String[] args )
-    {
-        // String url = "ldap://";
-        // String url = "ldap://localhost";
-        // String url = "ldap://:389";
-        // String url = "ldap://localhost:389";
-        // String url = "ldap:///??one";
-        // String url = "ldap://localhost:389/cn=abc??sub";
-
-        // String url =
-        // "ldap://localhost:389/cn=abc?givenName,sn,mail?sub?(objectClass=*)?ext";
-
-        String url = "cn=abc"; //$NON-NLS-1$
-        String[] protocolAndRest = url.split( "\\?", 2 ); //$NON-NLS-1$
-        System.out.println( Arrays.asList( protocolAndRest ) );
-        System.out.println( protocolAndRest.length );
-    }
-
-
+    /**
+     * Checks for protocol.
+     * 
+     * @return true, if has protocol
+     */
     public boolean hasProtocol()
     {
         try
@@ -319,6 +357,12 @@
     }
 
 
+    /**
+     * Gets the protocol.
+     * 
+     * @return the protocol
+     * @throws NoSuchFieldException if not has protocol
+     */
     public String getProtocol() throws NoSuchFieldException
     {
         if ( protocol == null )
@@ -330,6 +374,11 @@
     }
 
 
+    /**
+     * Checks for host.
+     * 
+     * @return true, if has host
+     */
     public boolean hasHost()
     {
         try
@@ -344,6 +393,12 @@
     }
 
 
+    /**
+     * Gets the host.
+     * 
+     * @return the host
+     * @throws NoSuchFieldException if not has host
+     */
     public String getHost() throws NoSuchFieldException
     {
         if ( host == null )
@@ -355,6 +410,11 @@
     }
 
 
+    /**
+     * Checks for port.
+     * 
+     * @return true, if has port
+     */
     public boolean hasPort()
     {
         try
@@ -369,6 +429,12 @@
     }
 
 
+    /**
+     * Gets the port.
+     * 
+     * @return the port
+     * @throws NoSuchFieldException if not has port
+     */
     public String getPort() throws NoSuchFieldException
     {
         try
@@ -390,6 +456,11 @@
     }
 
 
+    /**
+     * Checks for dn.
+     * 
+     * @return true, if has dn
+     */
     public boolean hasDn()
     {
         try
@@ -404,6 +475,12 @@
     }
 
 
+    /**
+     * Gets the dn.
+     * 
+     * @return the dn
+     * @throws NoSuchFieldException if not has dn
+     */
     public DN getDn() throws NoSuchFieldException
     {
         if ( dn == null )
@@ -422,6 +499,11 @@
     }
 
 
+    /**
+     * Checks for attributes.
+     * 
+     * @return true, if has attributes
+     */
     public boolean hasAttributes()
     {
         try
@@ -436,6 +518,12 @@
     }
 
 
+    /**
+     * Gets the attributes.
+     * 
+     * @return the attributes
+     * @throws NoSuchFieldException if not has attributes
+     */
     public String[] getAttributes() throws NoSuchFieldException
     {
         if ( attributes == null )
@@ -448,6 +536,11 @@
     }
 
 
+    /**
+     * Checks for scope.
+     * 
+     * @return true, if has scope
+     */
     public boolean hasScope()
     {
         try
@@ -462,6 +555,12 @@
     }
 
 
+    /**
+     * Gets the scope.
+     * 
+     * @return the scope
+     * @throws NoSuchFieldException if not has scope
+     */
     public int getScope() throws NoSuchFieldException
     {
         if ( scope == null )
@@ -485,6 +584,11 @@
     }
 
 
+    /**
+     * Checks for filter.
+     * 
+     * @return true, if has filter
+     */
     public boolean hasFilter()
     {
         try
@@ -499,6 +603,12 @@
     }
 
 
+    /**
+     * Gets the filter.
+     * 
+     * @return the filter
+     * @throws NoSuchFieldException if not has filter
+     */
     public String getFilter() throws NoSuchFieldException
     {
         if ( filter == null )
@@ -510,6 +620,11 @@
     }
 
 
+    /**
+     * Checks for extensions.
+     * 
+     * @return true, if has extensions
+     */
     public boolean hasExtensions()
     {
         try
@@ -524,6 +639,12 @@
     }
 
 
+    /**
+     * Gets the extensions.
+     * 
+     * @return the extensions
+     * @throws NoSuchFieldException if not has extensions
+     */
     public String getExtensions() throws NoSuchFieldException
     {
         if ( extensions == null )