2006-05-21 Audrius Meskauskas <[EMAIL PROTECTED]>
* javax/naming/NameParser.java, javax/naming/NamingEnumeration.java, javax/naming/PartialResultException.java, javax/naming/SizeLimitExceededException.java, javax/naming/spi/ObjectFactory.java, javax/naming/spi/ObjectFactoryBuilder.java: Documented.
Index: javax/naming/NameParser.java =================================================================== RCS file: /sources/classpath/classpath/javax/naming/NameParser.java,v retrieving revision 1.3 diff -u -r1.3 NameParser.java --- javax/naming/NameParser.java 2 Jul 2005 20:32:45 -0000 1.3 +++ javax/naming/NameParser.java 21 May 2006 12:12:38 -0000 @@ -1,5 +1,5 @@ -/* NameParser.java -- - Copyright (C) 2000 Free Software Foundation, Inc. +/* NameParser.java -- JNDI name parser interface + Copyright (C) 2000, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,8 +38,24 @@ package javax.naming; +/** + * Parser the string representation of the given name into the [EMAIL PROTECTED] Name} + * representation. + * + * @see Context#getNameParser(String) + * @see Context#getNameParser(Name) + */ public interface NameParser -{ +{ + /** + * Parser the string name representation into the [EMAIL PROTECTED] Name} representation + * + * @param name the string representation of the name + * @return the [EMAIL PROTECTED] Name} representation of the name. + * @throws InvalidNameException if the name violates the syntax, expected by + * this parser + * @throws NamingException if some other naming exception occurs + */ Name parse (String name) throws NamingException; } Index: javax/naming/NamingEnumeration.java =================================================================== RCS file: /sources/classpath/classpath/javax/naming/NamingEnumeration.java,v retrieving revision 1.3 diff -u -r1.3 NamingEnumeration.java --- javax/naming/NamingEnumeration.java 2 Jul 2005 20:32:45 -0000 1.3 +++ javax/naming/NamingEnumeration.java 21 May 2006 12:12:38 -0000 @@ -1,5 +1,5 @@ -/* NamingEnumeration.java -- - Copyright (C) 2000 Free Software Foundation, Inc. +/* NamingEnumeration.java -- The JNDI enumeration + Copyright (C) 2000, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,9 +40,50 @@ import java.util.Enumeration; +/** + * <p>The specific type of enumeration that supports throwing various exceptions by + * the hasMore method. The exceptions are only thrown if the enumeration is + * scanned using [EMAIL PROTECTED] #next()} and [EMAIL PROTECTED] #hasMore()}. If the inherited + * [EMAIL PROTECTED] java.util.Enumeration#nextElement()} and + * [EMAIL PROTECTED] Enumeration#hasMoreElements()} are used instead, the exceptions are + * not throwed, and the enumeration is just iterated over available elements. + * </p> + * <p>This enumeration becomes invalid after throwing the exception. If the + * exception has been thrown, not other method should be called of that + * enumeration.</p> + */ public interface NamingEnumeration extends Enumeration { - void close() throws NamingException; - boolean hasMore() throws NamingException; + /** + * Returns the next element in this enumeration. The naming - specific + * exceptions are only throws after returning all still available elements of + * the enumeration. + * + * @return the next element of this enumeration + * @throws NamingException + */ Object next() throws NamingException; + + /** + * Checks if there are more unvisited elements in the enumeration, throwing + * exceptions if there are some unvisited, but not available elements. + * + * @return true if there are some unvisited elements, false otherwise. + * @throws PartialResultException if the enumeration, returned by the + * [EMAIL PROTECTED] Context#list(Name)} or other similar method contains only + * partial answer. + * @throws SizeLimitExceededException if remaining elements are not available + * because of the previously specified size limit. + * @throws NamingException + */ + boolean hasMore() throws NamingException; + + /** + * Immediately frees all resources, owned by this enumeration. If invoked, it + * must be the last method called for that enumeration. + * + * @throws NamingException + */ + void close() throws NamingException; + } Index: javax/naming/PartialResultException.java =================================================================== RCS file: /sources/classpath/classpath/javax/naming/PartialResultException.java,v retrieving revision 1.4 diff -u -r1.4 PartialResultException.java --- javax/naming/PartialResultException.java 3 Mar 2006 22:50:55 -0000 1.4 +++ javax/naming/PartialResultException.java 21 May 2006 12:12:38 -0000 @@ -38,7 +38,11 @@ package javax.naming; - +/** + * Thrown from the [EMAIL PROTECTED] javax.naming.NamingEnumeration}, this exception + * indicates that the enumeration represents only part of the existing + * elements that would be an answer to the specified request. + */ public class PartialResultException extends NamingException { private static final long serialVersionUID = 2572144970049426786L; Index: javax/naming/SizeLimitExceededException.java =================================================================== RCS file: /sources/classpath/classpath/javax/naming/SizeLimitExceededException.java,v retrieving revision 1.4 diff -u -r1.4 SizeLimitExceededException.java --- javax/naming/SizeLimitExceededException.java 3 Mar 2006 22:50:55 -0000 1.4 +++ javax/naming/SizeLimitExceededException.java 21 May 2006 12:12:38 -0000 @@ -38,7 +38,12 @@ package javax.naming; - +/** + * Thrown from the [EMAIL PROTECTED] javax.naming.NamingEnumeration}, this exception + * indicates that there are more elements than the previously specified + * size limit. Hence the enumeration represents only part of the existing + * elements that would be an answer to the specified request. + */ public class SizeLimitExceededException extends LimitExceededException { private static final long serialVersionUID = 7129289564879168579L; Index: javax/naming/spi/ObjectFactory.java =================================================================== RCS file: /sources/classpath/classpath/javax/naming/spi/ObjectFactory.java,v retrieving revision 1.4 diff -u -r1.4 ObjectFactory.java --- javax/naming/spi/ObjectFactory.java 2 Jul 2005 20:32:45 -0000 1.4 +++ javax/naming/spi/ObjectFactory.java 21 May 2006 12:12:39 -0000 @@ -1,5 +1,5 @@ /* ObjectFactory.java -- - Copyright (C) 2001, 2004 Free Software Foundation, Inc. + Copyright (C) 2001, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,9 +43,31 @@ import javax.naming.Context; import javax.naming.Name; +/** + * Represents a factory for creating the object. Classes, implementing this + * interface, must be public and have public parameterless constructor. + */ public interface ObjectFactory { - Object getObjectInstance (Object obj, Name name, Context nameCtx, - Hashtable environment) - throws Exception; + /** + * Creates the object, using the specified name and location information. The + * call of this method must be thread safe. + * + * @param refObj may provide the reference and location information. Can be null. + * @param name the name of the new object in the scope of the specified naming + * context. Can be null if the name is not specified. + * @param nameCtx the context, in which the object name is specified. Can be + * null if the name is specified in the scope of the default initial + * context. + * @param environment the properties, providing additional information on how + * to create an object. Can be null if not additional information is + * provided. + * @return the newly created object or null if the object cannot be created + * @throws Exception if this factory suggest not to try creating of this + * object by other alternative factories + * + * @see NamingManager#getObjectInstance(Object, Name, Context, Hashtable) + */ + Object getObjectInstance(Object refObj, Name name, Context nameCtx, + Hashtable environment) throws Exception; } Index: javax/naming/spi/ObjectFactoryBuilder.java =================================================================== RCS file: /sources/classpath/classpath/javax/naming/spi/ObjectFactoryBuilder.java,v retrieving revision 1.5 diff -u -r1.5 ObjectFactoryBuilder.java --- javax/naming/spi/ObjectFactoryBuilder.java 2 Jul 2005 20:32:45 -0000 1.5 +++ javax/naming/spi/ObjectFactoryBuilder.java 21 May 2006 12:12:41 -0000 @@ -1,5 +1,5 @@ -/* ObjectFactoryBuilder.java -- - Copyright (C) 2001, 2004 Free Software Foundation, Inc. +/* ObjectFactoryBuilder.java -- the builder that creates the object factories. + Copyright (C) 2001, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -41,14 +41,30 @@ import java.util.Hashtable; import javax.naming.NamingException; +import javax.naming.Reference; +import javax.naming.Referenceable; /** + * Represents the builder that creates the object factories. + * + * @see NamingManager#setObjectFactoryBuilder(ObjectFactoryBuilder) + * * @author Warren Levy ([EMAIL PROTECTED]) - * @date June 1, 2001 */ public interface ObjectFactoryBuilder -{ - ObjectFactory createObjectFactory(Object obj, +{ + /** + * Create a new object using the supplied environment. + * + * @param refInfo the referencing object, for which the new object must be + * created (can be null). If not null, it is usually an instance of + * the [EMAIL PROTECTED] Reference} or [EMAIL PROTECTED] Referenceable}. + * @param environment contains the additional information about the factory + * being created. Can be null. + * @return the created object factory. The null is never returned. + * @throws NamingException + */ + ObjectFactory createObjectFactory(Object refInfo, Hashtable environment) throws NamingException; }