OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: SAX2: DTDDeclHandler (minimalist position)

[ Lists Home | Date Index | Thread Index ]
  • From: Elliotte Harold - java FAQ <elharo@metalab.unc.edu>
  • To: David Megginson <david@megginson.com>
  • Date: Thu, 25 Mar 1999 16:35:43 -0500 (EST)


I haven't been paying too much attention to SAX, but today I was sitting
in my office waiting for students to drop by. They never do, except right
before and after exams, so I was a little bored and started reading
threads I'd normally filter, and I noticed something:


> 
> public interface DTDDeclHandler
> {
>     public final static int ATTRIBUTE_DEFAULTED = 1;
>     public final static int ATTRIBUTE_IMPLIED = 2;
>     public final static int ATTRIBUTE_REQUIRED = 3;
>     public final static int ATTRIBUTE_FIXED = 4;
> 

How committed are you to using integer constants? I know this is common,
but it tends to lend itself to bad code. Some people prefer a solution
like this:

public class AttributStatus {

  public final static AttributeStatus ATTRIBUTE_DEFAULTED = 
   new AttributeStatus();
  public final static AttributeStatus ATTRIBUTE_IMPLIED =
   new AttributeStatus();
  public final static AttributeStatus ATTRIBUTE_FIXED =   
   new AttributeStatus();
  public final static AttributeStatus ATTRIBUTE_REQUIRED =   
   new AttributeStatus();

  private AttributeStatus() {}

}

This creates four menmonic constants you want and gives them a checkable
type.  New constants can't be created because of the private constructor.
And there's no chance that anybody's going to write code like

  if (getAttributeStatus() == 1) {
   doSomething();
  }

Programmers are more or less forced to use the constants. What do you
think?

--
Elliotte Rusty Harold
elharo@metalab.unc.edu



xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS