This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 44467 - Enumerations.EMPTY is not generic-friendly
Summary: Enumerations.EMPTY is not generic-friendly
Status: CLOSED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: -- Other -- (show other bugs)
Version: 4.x
Hardware: All All
: P2 blocker (vote)
Assignee: Jaroslav Tulach
URL:
Keywords: API
Depends on:
Blocks: 41166
  Show dependency tree
 
Reported: 2004-06-07 17:45 UTC by Jesse Glick
Modified: 2008-12-22 16:51 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Glick 2004-06-07 17:45:02 UTC
Please reconsider my suggestion of Mar 22 re.
issue #41166:

---%<---
Prefer to replace

  public static Enumeration EMPTY;

with

  public static Enumeration empty();

as it could avoid initializing this if it is not used.
---%<---

Besides the stated reason, here is another: it
will not be possible use the constant field
correctly with generics in a type-safe way. You
will need to have a method so we can change the
signature to be

  public static <T> Enumeration<T> empty();

when we really begin compiling under JDK 1.5.

Of course the same applies to Lookup.EMPTY and
probably other misused constant fields. But this
can at least be fixed immediately.

Cf. Collections.emptySet() etc. in JDK 1.5.
Comment 1 Jaroslav Tulach 2004-06-08 07:30:17 UTC
The type safety argument is good one. I did not know about
Collections.emptySet(). I will replace the field with method.

Btw. Lookup.EMPTY does not have this problem as lookup itself is not
parametrized. Only result is.
Comment 2 Jaroslav Tulach 2004-06-08 10:03:10 UTC
/cvs/ant/src/org/apache/tools/ant/module/bridge/DummyBridgeImpl.java,v
 <--  DummyBridgeImpl.java
new revision: 1.7; previous revision: 1.6
done
Processing log script arguments...
More commits to come...
Checking in
apisupport/src/org/netbeans/modules/apisupport/layers/WritableXMLFileSystem.java;
/cvs/apisupport/src/org/netbeans/modules/apisupport/layers/WritableXMLFileSystem.java,v
 <--  WritableXMLFileSystem.java
new revision: 1.20; previous revision: 1.19
done
Processing log script arguments...
More commits to come...
Checking in core/src/org/netbeans/core/Services.java;
/cvs/core/src/org/netbeans/core/Services.java,v  <--  Services.java
new revision: 1.69; previous revision: 1.68
done
Processing log script arguments...
More commits to come...
Checking in core/src/org/netbeans/core/projects/FixedFileSystem.java;
/cvs/core/src/org/netbeans/core/projects/FixedFileSystem.java,v  <-- 
FixedFileSystem.java
new revision: 1.17; previous revision: 1.16
done
Processing log script arguments...
More commits to come...
Checking in core/src/org/netbeans/core/projects/cache/BinaryFS.java;
/cvs/core/src/org/netbeans/core/projects/cache/BinaryFS.java,v  <-- 
BinaryFS.java
new revision: 1.12; previous revision: 1.11
done
Processing log script arguments...
More commits to come...
Checking in core/src/org/netbeans/core/ui/ProductInformationPanel.java;
/cvs/core/src/org/netbeans/core/ui/ProductInformationPanel.java,v  <--
 ProductInformationPanel.java
new revision: 1.21; previous revision: 1.20
done
Processing log script arguments...
More commits to come...
Checking in
httpserver/httpserver4/src/org/netbeans/modules/httpserver/NbBaseServlet.java;
/cvs/httpserver/httpserver4/src/org/netbeans/modules/httpserver/NbBaseServlet.java,v
 <--  NbBaseServlet.java
new revision: 1.3; previous revision: 1.2
done
Processing log script arguments...
More commits to come...
Checking in openide/loaders/src/org/openide/actions/FileSystemAction.java;
/cvs/openide/loaders/src/org/openide/actions/FileSystemAction.java,v 
<--  FileSystemAction.java
new revision: 1.8; previous revision: 1.7
done
Processing log script arguments...
More commits to come...
Checking in openide/loaders/src/org/openide/loaders/ExtensionList.java;
/cvs/openide/loaders/src/org/openide/loaders/ExtensionList.java,v  <--
 ExtensionList.java
new revision: 1.4; previous revision: 1.3
done
Checking in
openide/loaders/src/org/openide/loaders/InstanceDataObject.java;
/cvs/openide/loaders/src/org/openide/loaders/InstanceDataObject.java,v
 <--  InstanceDataObject.java
new revision: 1.13; previous revision: 1.12
done
Processing log script arguments...
More commits to come...
Checking in
openide/masterfs/src/org/netbeans/modules/masterfs/InvalidDummy.java;
/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/InvalidDummy.java,v
 <--  InvalidDummy.java
new revision: 1.6; previous revision: 1.5
done
Checking in
openide/masterfs/src/org/netbeans/modules/masterfs/MasterFileObject.java;
/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/MasterFileObject.java,v
 <--  MasterFileObject.java
new revision: 1.23; previous revision: 1.22
done
Processing log script arguments...
More commits to come...
Checking in openide/src/org/openide/filesystems/AbstractFileObject.java;
/cvs/openide/src/org/openide/filesystems/AbstractFileObject.java,v 
<--  AbstractFileObject.java
new revision: 1.94; previous revision: 1.93
done
Checking in openide/src/org/openide/filesystems/AbstractFolder.java;
/cvs/openide/src/org/openide/filesystems/AbstractFolder.java,v  <-- 
AbstractFolder.java
new revision: 1.78; previous revision: 1.77
done
Checking in openide/src/org/openide/filesystems/DefaultAttributes.java;
/cvs/openide/src/org/openide/filesystems/DefaultAttributes.java,v  <--
 DefaultAttributes.java
new revision: 1.77; previous revision: 1.76
done
Checking in openide/src/org/openide/filesystems/JarFileSystem.java;
/cvs/openide/src/org/openide/filesystems/JarFileSystem.java,v  <-- 
JarFileSystem.java
new revision: 1.92; previous revision: 1.91
done
Checking in openide/src/org/openide/filesystems/XMLFileSystem.java;
/cvs/openide/src/org/openide/filesystems/XMLFileSystem.java,v  <-- 
XMLFileSystem.java
new revision: 1.78; previous revision: 1.77
done
Processing log script arguments...
More commits to come...
Checking in openide/src/org/openide/util/Enumerations.java;
/cvs/openide/src/org/openide/util/Enumerations.java,v  <-- 
Enumerations.java
new revision: 1.2; previous revision: 1.1
done
Processing log script arguments...
More commits to come...
Checking in openide/src/org/openide/util/enum/EmptyEnumeration.java;
/cvs/openide/src/org/openide/util/enum/EmptyEnumeration.java,v  <-- 
EmptyEnumeration.java
new revision: 1.9; previous revision: 1.8
done
Processing log script arguments...
More commits to come...
Checking in openide/src/org/openide/util/lookup/ArrayStorage.java;
/cvs/openide/src/org/openide/util/lookup/ArrayStorage.java,v  <-- 
ArrayStorage.java
new revision: 1.8; previous revision: 1.7
done
Checking in openide/src/org/openide/util/lookup/InheritanceTree.java;
/cvs/openide/src/org/openide/util/lookup/InheritanceTree.java,v  <-- 
InheritanceTree.java
new revision: 1.29; previous revision: 1.28
done
Processing log script arguments...
More commits to come...
Checking in openide/test/unit/src/org/openide/util/EnumerationsTest.java;
/cvs/openide/test/unit/src/org/openide/util/EnumerationsTest.java,v 
<--  EnumerationsTest.java
new revision: 1.2; previous revision: 1.1
done
Processing log script arguments...
More commits to come...
Checking in
vcscore/src/org/netbeans/modules/vcscore/actions/VSRevisionAction.java;
/cvs/vcscore/src/org/netbeans/modules/vcscore/actions/VSRevisionAction.java,v
 <--  VSRevisionAction.java
new revision: 1.8; previous revision: 1.7
done
Checking in
vcscore/src/org/netbeans/modules/vcscore/actions/VcsCommandsAction.java;
/cvs/vcscore/src/org/netbeans/modules/vcscore/actions/VcsCommandsAction.java,v
 <--  VcsCommandsAction.java
new revision: 1.12; previous revision: 1.11
done
Processing log script arguments...
More commits to come...
Checking in
vcscore/src/org/netbeans/modules/vcscore/versioning/VersioningFileSystem.java;
/cvs/vcscore/src/org/netbeans/modules/vcscore/versioning/VersioningFileSystem.java,v
 <--  VersioningFileSystem.java
new revision: 1.27; previous revision: 1.26
done
Processing log script arguments...
More commits to come...
Checking in
xml/core/src/org/netbeans/modules/xml/core/lib/StreamFileObject.java;
/cvs/xml/core/src/org/netbeans/modules/xml/core/lib/StreamFileObject.java,v
 <--  StreamFileObject.java
new revision: 1.4; previous revision: 1.3
done
Processing log script arguments...
More commits to come...
Checking in
xml/core/src/org/netbeans/modules/xml/dtd/grammar/ContentModel.java;
/cvs/xml/core/src/org/netbeans/modules/xml/dtd/grammar/ContentModel.java,v
 <--  ContentModel.java
new revision: 1.11; previous revision: 1.10
done
Checking in
xml/core/src/org/netbeans/modules/xml/dtd/grammar/DTDGrammar.java;
/cvs/xml/core/src/org/netbeans/modules/xml/dtd/grammar/DTDGrammar.java,v
 <--  DTDGrammar.java
new revision: 1.15; previous revision: 1.14
done
Processing log script arguments...
More commits to come...
Checking in
xml/core/src/org/netbeans/modules/xml/spi/model/EmptyQuery.java;
/cvs/xml/core/src/org/netbeans/modules/xml/spi/model/EmptyQuery.java,v
 <--  EmptyQuery.java
new revision: 1.5; previous revision: 1.4
done
Processing log script arguments...
More commits to come...
Checking in
xml/core/test/unit/src/org/netbeans/modules/xml/api/model/GrammarQueryManagerTest.java;
/cvs/xml/core/test/unit/src/org/netbeans/modules/xml/api/model/GrammarQueryManagerTest.java,v
 <--  GrammarQueryManagerTest.java
new revision: 1.3; previous revision: 1.2
done
Processing log script arguments...
More commits to come...
Checking in
xml/text-edit/test/unit/src/org/netbeans/modules/xml/text/completion/UnitTestQuery.java;
/cvs/xml/text-edit/test/unit/src/org/netbeans/modules/xml/text/completion/UnitTestQuery.java,v
 <--  UnitTestQuery.java
new revision: 1.6; previous revision: 1.5
done
Processing log script arguments...
More commits to come...
Checking in
xml/xsl/src/org/netbeans/modules/xsl/grammar/XSLGrammarQuery.java;
/cvs/xml/xsl/src/org/netbeans/modules/xsl/grammar/XSLGrammarQuery.java,v
 <--  XSLGrammarQuery.java
new revision: 1.38; previous revision: 1.37
done
Checking in
xml/xsl/src/org/netbeans/modules/xsl/grammar/XSLGrammarQueryProvider.java;
/cvs/xml/xsl/src/org/netbeans/modules/xsl/grammar/XSLGrammarQueryProvider.java,v
 <--  XSLGrammarQueryProvider.java
new revision: 1.12; previous revision: 1.11
Comment 3 Jesse Glick 2004-06-08 16:28:39 UTC
Yeah, I did not know about Collections.emptySet() either until a
couple of days ago... it is mentioned in Gilad Bracha's generics tutorial.
Comment 4 Zdenek Konecny 2005-07-27 12:21:53 UTC
Closed, too old