donaldp 2002/09/09 05:37:38 Modified: info/src/java/org/apache/avalon/framework/info EntryDescriptor.java info/src/java/org/apache/avalon/framework/tools/infobuilder XMLInfoCreator.java componentinfo.dtd Log: Allow entrys to have sub-attributes Revision Changes Path 1.3 +12 -3 jakarta-avalon-excalibur/info/src/java/org/apache/avalon/framework/info/EntryDescriptor.java Index: EntryDescriptor.java =================================================================== RCS file: /home/cvs/jakarta-avalon-excalibur/info/src/java/org/apache/avalon/framework/info/EntryDescriptor.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- EntryDescriptor.java 8 Sep 2002 04:57:05 -0000 1.2 +++ EntryDescriptor.java 9 Sep 2002 12:37:37 -0000 1.3 @@ -8,6 +8,7 @@ package org.apache.avalon.framework.info; import java.io.Serializable; +import java.util.Properties; /** * A descriptor that describes a value that must be placed @@ -22,10 +23,16 @@ * for a list of widely recognized entry values and a recomended * naming scheme for other attributes.</p> * + * <p>Also associated with each entry is a set of arbitrary + * attributes that can be used to store extra information + * about entry. See {@link ComponentDescriptor} for example + * of how to declare the container specific attributes.</p> + * * @author <a href="mailto:peter at apache.org">Peter Donald</a> * @version $Revision$ $Date$ */ public final class EntryDescriptor + extends FeatureDescriptor implements Serializable { /** @@ -48,13 +55,15 @@ */ public EntryDescriptor( final String key, final String type, - final boolean optional ) + final boolean optional, + final Properties attributes ) { + super( attributes ); + if( null == key ) { throw new NullPointerException( "key" ); } - if( null == type ) { throw new NullPointerException( "type" ); 1.7 +4 -2 jakarta-avalon-excalibur/info/src/java/org/apache/avalon/framework/tools/infobuilder/XMLInfoCreator.java Index: XMLInfoCreator.java =================================================================== RCS file: /home/cvs/jakarta-avalon-excalibur/info/src/java/org/apache/avalon/framework/tools/infobuilder/XMLInfoCreator.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- XMLInfoCreator.java 8 Sep 2002 05:23:40 -0000 1.6 +++ XMLInfoCreator.java 9 Sep 2002 12:37:37 -0000 1.7 @@ -292,8 +292,10 @@ final String type = config.getAttribute( "type" ); final boolean optional = config.getAttributeAsBoolean( "optional", false ); + final Properties attributes = + buildAttributes( config.getChild( "attributes" ) ); - return new EntryDescriptor( key, type, optional ); + return new EntryDescriptor( key, type, optional, attributes ); } /** 1.4 +2 -2 jakarta-avalon-excalibur/info/src/java/org/apache/avalon/framework/tools/infobuilder/componentinfo.dtd Index: componentinfo.dtd =================================================================== RCS file: /home/cvs/jakarta-avalon-excalibur/info/src/java/org/apache/avalon/framework/tools/infobuilder/componentinfo.dtd,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- componentinfo.dtd 8 Sep 2002 04:32:51 -0000 1.3 +++ componentinfo.dtd 9 Sep 2002 12:37:37 -0000 1.4 @@ -93,7 +93,7 @@ to the value specified in the name attribute of service element service-ref the service that is required --> -<!ELEMENT dependency (key?,service-ref,attributes?) > +<!ELEMENT dependency (key?,service-ref,attributes*) > <!ATTLIST dependency optional CDATA #IMPLIED > <!ELEMENT key (#PCDATA) > @@ -140,7 +140,7 @@ value the value of entry. optional is entry optional --> -<!ELEMENT entry EMPTY > +<!ELEMENT entry (attributes*) > <!ATTLIST entry key CDATA #REQUIRED type CDATA #REQUIRED
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>