SAX2: DTDDeclHandler (minimalist position)
Elliotte Harold - java FAQ
elharo at metalab.unc.edu
Thu Mar 25 21:36:08 GMT 1999
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 at metalab.unc.edu
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at 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 at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list