#14794 closed defect (fixed)
Javadoc for every top level class
Reported by: | bastiK | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | 17.08 |
Component: | Core | Version: | |
Keywords: | javadoc | Cc: |
Description (last modified by )
We should have a short description (Javadoc) for the main class or interface in each .java file. Below is a list of all files that are currently missing this basic documentation:
src/org/openstreetmap/josm/actions/ActionParameter.javasrc/org/openstreetmap/josm/actions/AdaptableAction.javasrc/org/openstreetmap/josm/actions/CloseChangesetAction.javasrc/org/openstreetmap/josm/actions/CopyCoordinatesAction.javasrc/org/openstreetmap/josm/actions/ParameterizedAction.javasrc/org/openstreetmap/josm/actions/ParameterizedActionDecorator.javasrc/org/openstreetmap/josm/actions/PreferenceToggleAction.javasrc/org/openstreetmap/josm/actions/ReverseWayAction.javasrc/org/openstreetmap/josm/actions/SelectAllAction.javasrc/org/openstreetmap/josm/actions/ShowStatusReportAction.javasrc/org/openstreetmap/josm/actions/ToggleGPXLinesAction.javasrc/org/openstreetmap/josm/actions/UnselectAllAction.javasrc/org/openstreetmap/josm/actions/UpdateDataAction.javasrc/org/openstreetmap/josm/actions/ZoomToAction.javasrc/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesUrlBoundsTask.javasrc/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesUrlIdTask.javasrc/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmIdTask.javasrc/org/openstreetmap/josm/actions/downloadtasks/PostDownloadHandler.javasrc/org/openstreetmap/josm/actions/mapmode/DrawSnapHelper.javasrc/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.javasrc/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.javasrc/org/openstreetmap/josm/actions/search/PushbackTokenizer.javasrc/org/openstreetmap/josm/actions/search/SearchAction.javasrc/org/openstreetmap/josm/actions/upload/ApiPreconditionCheckerHook.javasrc/org/openstreetmap/josm/actions/upload/CyclicUploadDependencyException.javasrc/org/openstreetmap/josm/actions/upload/UploadHook.javasrc/org/openstreetmap/josm/command/ScaleCommand.javasrc/org/openstreetmap/josm/data/cache/ICachedLoaderJob.javasrc/org/openstreetmap/josm/data/conflict/IConflictListener.javasrc/org/openstreetmap/josm/data/coor/QuadTiling.javasrc/org/openstreetmap/josm/data/gpx/GpxRoute.javasrc/org/openstreetmap/josm/data/gpx/ImmutableGpxTrackSegment.javasrc/org/openstreetmap/josm/data/gpx/WayPoint.javasrc/org/openstreetmap/josm/data/imagery/Shape.javasrc/org/openstreetmap/josm/data/oauth/OAuthToken.javasrc/org/openstreetmap/josm/data/osm/ChangesetCacheEvent.javasrc/org/openstreetmap/josm/data/osm/ChangesetCacheListener.javasrc/org/openstreetmap/josm/data/osm/DefaultChangesetCacheEvent.javasrc/org/openstreetmap/josm/data/osm/NodeData.javasrc/org/openstreetmap/josm/data/osm/OsmUtils.javasrc/org/openstreetmap/josm/data/osm/RelationMemberData.javasrc/org/openstreetmap/josm/data/osm/RelationToChildReference.javasrc/org/openstreetmap/josm/data/osm/SimplePrimitiveId.javasrc/org/openstreetmap/josm/data/osm/WayData.javasrc/org/openstreetmap/josm/data/osm/event/ChangesetIdChangedEvent.javasrc/org/openstreetmap/josm/data/osm/event/DataChangedEvent.javasrc/org/openstreetmap/josm/data/osm/event/NodeMovedEvent.javasrc/org/openstreetmap/josm/data/osm/event/PrimitivesAddedEvent.javasrc/org/openstreetmap/josm/data/osm/event/PrimitivesRemovedEvent.javasrc/org/openstreetmap/josm/data/osm/event/RelationMembersChangedEvent.javasrc/org/openstreetmap/josm/data/osm/event/TagsChangedEvent.javasrc/org/openstreetmap/josm/data/osm/event/WayNodesChangedEvent.javasrc/org/openstreetmap/josm/data/osm/history/HistoryDataSetListener.javasrc/org/openstreetmap/josm/data/osm/visitor/paint/PaintColors.javasrc/org/openstreetmap/josm/data/preferences/CachedProperty.javasrc/org/openstreetmap/josm/data/preferences/ParametrizedEnumProperty.javasrc/org/openstreetmap/josm/data/projection/ProjectionChangeListener.javasrc/org/openstreetmap/josm/data/projection/ProjectionConfigurationException.javasrc/org/openstreetmap/josm/data/projection/datum/AbstractDatum.javasrc/org/openstreetmap/josm/data/validation/ValidatorVisitor.javasrc/org/openstreetmap/josm/gui/GettingStarted.javasrc/org/openstreetmap/josm/gui/HelpAwareOptionPane.javasrc/org/openstreetmap/josm/gui/MapSlider.javasrc/org/openstreetmap/josm/gui/NameFormatterHook.javasrc/org/openstreetmap/josm/gui/bbox/SlippyMapBBoxChooser.java- src/org/openstreetmap/josm/gui/bbox/SourceButton.java
- src/org/openstreetmap/josm/gui/conflict/pair/ComparePairListCellRenderer.java
- src/org/openstreetmap/josm/gui/conflict/pair/IConflictResolver.java
- src/org/openstreetmap/josm/gui/conflict/pair/MergeDecisionType.java
- src/org/openstreetmap/josm/gui/conflict/pair/PairTable.java
- src/org/openstreetmap/josm/gui/conflict/pair/tags/MergedTableCellRenderer.java
- src/org/openstreetmap/josm/gui/conflict/pair/tags/MineTableCellRenderer.java
- src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeTableCellRenderer.java
- src/org/openstreetmap/josm/gui/conflict/pair/tags/TheirTableCellRenderer.java
- src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java
- src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecision.java
- src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionRenderer.java
- src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictDecisionType.java
- src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolver.java
- src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverColumnModel.java
- src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverTable.java
- src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverModel.java
- src/org/openstreetmap/josm/gui/conflict/tags/TagConflictResolverTable.java
src/org/openstreetmap/josm/gui/dialogs/FilterDialog.javasrc/org/openstreetmap/josm/gui/dialogs/FilterTableModel.javasrc/org/openstreetmap/josm/gui/dialogs/LatLonDialog.javasrc/org/openstreetmap/josm/gui/dialogs/MenuItemSearchDialog.javasrc/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetInSelectionListModel.javasrc/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetListCellRenderer.javasrc/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetListModel.java- src/org/openstreetmap/josm/gui/dialogs/properties/RecentTagCollection.java
- src/org/openstreetmap/josm/gui/dialogs/relation/IMemberModelListener.java
- src/org/openstreetmap/josm/gui/dialogs/relation/MemberRoleCellEditor.java
- src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java
- src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableColumnModel.java
- src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableLinkedCellRenderer.java
- src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java
- src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableRoleCellRenderer.java
- src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowserModel.java
- src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableModel.java
- src/org/openstreetmap/josm/gui/dialogs/relation/sort/RelationSortUtils.java
- src/org/openstreetmap/josm/gui/dialogs/relation/sort/RelationSorter.java
- src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionType.java
- src/org/openstreetmap/josm/gui/dialogs/relation/sort/WayConnectionTypeCalculator.java
- src/org/openstreetmap/josm/gui/download/DownloadSelection.java
- src/org/openstreetmap/josm/gui/history/NodeListTableCellRenderer.java
- src/org/openstreetmap/josm/gui/history/SelectionSynchronizer.java
src/org/openstreetmap/josm/gui/io/AbstractUploadTask.javasrc/org/openstreetmap/josm/gui/io/ConfigurationParameterRequestHandler.javasrc/org/openstreetmap/josm/gui/io/CredentialDialog.javasrc/org/openstreetmap/josm/gui/io/MaxChangesetSizeExceededPolicy.javasrc/org/openstreetmap/josm/gui/io/SaveLayersDialog.javasrc/org/openstreetmap/josm/gui/io/SaveLayersModel.javasrc/org/openstreetmap/josm/gui/io/SaveLayersTable.javasrc/org/openstreetmap/josm/gui/io/SaveLayersTableColumnModel.javasrc/org/openstreetmap/josm/gui/io/UploadAndSaveProgressRenderer.javasrc/org/openstreetmap/josm/gui/io/UploadOrSaveState.javasrc/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanel.javasrc/org/openstreetmap/josm/gui/io/UploadStrategy.javasrc/org/openstreetmap/josm/gui/layer/CustomizeColor.javasrc/org/openstreetmap/josm/gui/layer/GpxLayer.javasrc/org/openstreetmap/josm/gui/layer/ImageryLayer.javasrc/org/openstreetmap/josm/gui/layer/JumpToMarkerActions.javasrc/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.javasrc/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.javasrc/org/openstreetmap/josm/gui/layer/geoimage/ThumbsLoader.javasrc/org/openstreetmap/josm/gui/layer/gpx/CustomizeDrawingAction.javasrc/org/openstreetmap/josm/gui/layer/gpx/DateFilterPanel.javasrc/org/openstreetmap/josm/gui/layer/gpx/ImportImagesAction.javasrc/org/openstreetmap/josm/gui/layer/gpx/MarkersFromNamedPointsAction.javasrc/org/openstreetmap/josm/gui/mappaint/StyleKeys.javasrc/org/openstreetmap/josm/gui/mappaint/mapcss/CSSColors.javasrc/org/openstreetmap/josm/gui/mappaint/mapcss/Instruction.javasrc/org/openstreetmap/josm/gui/mappaint/styleelement/RepeatImageElement.javasrc/org/openstreetmap/josm/gui/mappaint/styleelement/StyleElement.java- src/org/openstreetmap/josm/gui/oauth/AuthorizationProcedure.java
- src/org/openstreetmap/josm/gui/oauth/AuthorizationProcedureComboBox.java
- src/org/openstreetmap/josm/gui/oauth/FullyAutomaticPropertiesPanel.java
- src/org/openstreetmap/josm/gui/oauth/OsmPrivilegesPanel.java
src/org/openstreetmap/josm/gui/preferences/DefaultPreferenceSetting.javasrc/org/openstreetmap/josm/gui/preferences/DefaultTabPreferenceSetting.javasrc/org/openstreetmap/josm/gui/preferences/PreferenceDialog.javasrc/org/openstreetmap/josm/gui/preferences/SourceProvider.javasrc/org/openstreetmap/josm/gui/preferences/projection/AbstractProjectionChoice.javasrc/org/openstreetmap/josm/gui/preferences/projection/CustomProjectionChoice.javasrc/org/openstreetmap/josm/gui/preferences/projection/GaussKruegerProjectionChoice.javasrc/org/openstreetmap/josm/gui/preferences/projection/LambertCC9ZonesProjectionChoice.javasrc/org/openstreetmap/josm/gui/preferences/projection/LambertProjectionChoice.javasrc/org/openstreetmap/josm/gui/preferences/projection/PuwgProjectionChoice.javasrc/org/openstreetmap/josm/gui/preferences/projection/SwissGridProjectionChoice.javasrc/org/openstreetmap/josm/gui/preferences/projection/UTMFranceDOMProjectionChoice.javasrc/org/openstreetmap/josm/gui/preferences/projection/UTMProjectionChoice.javasrc/org/openstreetmap/josm/gui/progress/AbstractProgressMonitor.javasrc/org/openstreetmap/josm/gui/progress/CancelHandler.javasrc/org/openstreetmap/josm/gui/progress/ChildProgress.javasrc/org/openstreetmap/josm/gui/progress/PleaseWaitProgressMonitor.javasrc/org/openstreetmap/josm/gui/progress/ProgressException.javasrc/org/openstreetmap/josm/gui/progress/ProgressTaskId.javasrc/org/openstreetmap/josm/gui/progress/ProgressTaskIds.java- src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetLabel.java
- src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetMenu.java
- src/org/openstreetmap/josm/gui/tagging/presets/items/Roles.java
src/org/openstreetmap/josm/gui/widgets/BoundingBoxSelectionPanel.javasrc/org/openstreetmap/josm/gui/widgets/HistoryChangedListener.javasrc/org/openstreetmap/josm/gui/widgets/ListPopupMenu.javasrc/org/openstreetmap/josm/gui/widgets/OsmPrimitivesTableModel.javasrc/org/openstreetmap/josm/gui/widgets/SearchTextResultListPanel.javasrc/org/openstreetmap/josm/gui/widgets/SelectAllOnFocusGainedDecorator.javasrc/org/openstreetmap/josm/gui/widgets/VerticallyScrollablePanel.javasrc/org/openstreetmap/josm/io/ChangesetQuery.javasrc/org/openstreetmap/josm/io/DiffResultProcessor.javasrc/org/openstreetmap/josm/io/FileExporter.javasrc/org/openstreetmap/josm/io/MissingOAuthAccessTokenException.javasrc/org/openstreetmap/josm/io/OsmChangeImporter.javasrc/org/openstreetmap/josm/io/OsmImporter.javasrc/org/openstreetmap/josm/io/OsmServerReadPostprocessor.javasrc/org/openstreetmap/josm/io/OsmServerUserInfoReader.javasrc/org/openstreetmap/josm/io/OsmServerWritePostprocessor.javasrc/org/openstreetmap/josm/io/StreamProgressUpdater.java- src/org/openstreetmap/josm/io/auth/AbstractCredentialsAgent.java
- src/org/openstreetmap/josm/io/auth/CredentialsAgentException.java
src/org/openstreetmap/josm/io/imagery/ImageryReader.java
I will start fixing classes that I understand most, but wouldn't mind some help. Hopefully we can get this list down to zero!
Attachments (2)
Change History (78)
by , 8 years ago
Attachment: | TopLevelJavadocCheck.java added |
---|
comment:1 by , 8 years ago
comment:4 by , 8 years ago
Description: | modified (diff) |
---|
comment:5 by , 8 years ago
Description: | modified (diff) |
---|
I'll do src/org/openstreetmap/josm/data/osm/
comment:8 by , 8 years ago
Description: | modified (diff) |
---|
comment:11 by , 8 years ago
Description: | modified (diff) |
---|
comment:12 by , 8 years ago
Replying to Don-vip:
See also Sonar.
Good to know! But let's start with something achievable.
Replying to michael2402:
I'll do
src/org/openstreetmap/josm/data/osm/
Great!
comment:14 by , 7 years ago
Description: | modified (diff) |
---|
follow-up: 18 comment:16 by , 7 years ago
Description: | modified (diff) |
---|
I found some more files. Your list does not include classes with empty javadoc comments (only /** */
) or with only an @author
tag.
comment:17 by , 7 years ago
Description: | modified (diff) |
---|
by , 7 years ago
Attachment: | TopLevelJavadocCheck.2.java added |
---|
comment:18 by , 7 years ago
Replying to michael2402:
I found some more files. Your list does not include classes with empty javadoc comments (only
/** */
) or with only an@author
tag.
Right, I've updated the check.
comment:19 by , 7 years ago
Description: | modified (diff) |
---|
comment:22 by , 7 years ago
Description: | modified (diff) |
---|
comment:25 by , 7 years ago
Description: | modified (diff) |
---|
comment:29 by , 7 years ago
Description: | modified (diff) |
---|
comment:32 by , 7 years ago
Description: | modified (diff) |
---|
comment:34 by , 7 years ago
Description: | modified (diff) |
---|
comment:36 by , 7 years ago
Description: | modified (diff) |
---|
comment:39 by , 7 years ago
Description: | modified (diff) |
---|
comment:43 by , 7 years ago
Keywords: | javadoc added |
---|---|
Milestone: | → 17.08 |
comment:44 by , 7 years ago
build-common.xml
in plugins must be updated as well, as the core checkstyle configuration/filter files are reused.
comment:45 by , 7 years ago
This also breaks Eclipse checkstyle, as we need now to create a custom plugin: http://eclipse-cs.sourceforge.net/#!/custom-checks
comment:48 by , 7 years ago
Replying to Don-vip:
plugins
build-common.xml
updated in [o33491].
Thank, you beat me to it! (not that I would mind :) )
comment:49 by , 7 years ago
Well I was already into it because of https://github.com/checkstyle/checkstyle/issues/4612 :) Also I have some experience in custom Checkstyle plugins as I maintain one at work ;)
follow-up: 52 comment:50 by , 7 years ago
Damn, this is unexpected:
BUILD FAILED C:\SVN\josm\plugins\build-common.xml:528: Unable to process files: [C:\SVN\josm\plugins\ColumbusCSV\src\org\openstreetmap\josm\plugins\columbusCSV\ColumbusCSVImporter.java, C:\SVN\josm\plugins\ColumbusCSV\src\org\openstreetmap\josm\plugins\columbusCSV\ColumbusCSVPlugin.java, C:\SVN\josm\plugins\ColumbusCSV\src\org\openstreetmap\josm\plugins\columbusCSV\ColumbusCSVPreferences.java, C:\SVN\josm\plugins\ColumbusCSV\src\org\openstreetmap\josm\plugins\columbusCSV\ColumbusCSVReader.java, C:\SVN\josm\plugins\ColumbusCSV\src\org\openstreetmap\josm\plugins\columbusCSV\ColumbusCSVUtils.java, C:\SVN\josm\plugins\ColumbusCSV\src\org\openstreetmap\josm\plugins\columbusCSV\WayPointHelper.java] at com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask.processFiles(CheckstyleAntTask.java:366) ... Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: Exception was thrown while processing C:\SVN\josm\plugins\ColumbusCSV\src\org\openstreetmap\josm\plugins\columbusCSV\ColumbusCSVImporter.java at com.puppycrawl.tools.checkstyle.Checker.processFiles(Checker.java:295) at com.puppycrawl.tools.checkstyle.Checker.process(Checker.java:213) at com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask.processFiles(CheckstyleAntTask.java:360) ... 18 more Caused by: java.lang.NullPointerException at org.openstreetmap.josm.TopLevelJavadocCheck.hasProperText(TopLevelJavadocCheck.java:74) at org.openstreetmap.josm.TopLevelJavadocCheck.hasJavadoc(TopLevelJavadocCheck.java:70) at org.openstreetmap.josm.TopLevelJavadocCheck.visitToken(TopLevelJavadocCheck.java:90) at com.puppycrawl.tools.checkstyle.TreeWalker.notifyVisit(TreeWalker.java:368) at com.puppycrawl.tools.checkstyle.TreeWalker.processIter(TreeWalker.java:505) at com.puppycrawl.tools.checkstyle.TreeWalker.walk(TreeWalker.java:310) at com.puppycrawl.tools.checkstyle.TreeWalker.processFiltered(TreeWalker.java:187) at com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck.process(AbstractFileSetCheck.java:78) at com.puppycrawl.tools.checkstyle.Checker.processFile(Checker.java:316) at com.puppycrawl.tools.checkstyle.Checker.processFiles(Checker.java:286) ... 20 more
It seems your check is not happy with this class:
/** * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the * Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with this program. * If not, see <http://www.gnu.org/licenses/>. */ package org.openstreetmap.josm.plugins.columbusCSV; import static org.openstreetmap.josm.tools.I18n.tr; import java.io.File; import java.io.IOException; import org.openstreetmap.josm.Main; import org.openstreetmap.josm.actions.AutoScaleAction; import org.openstreetmap.josm.actions.ExtensionFileFilter; import org.openstreetmap.josm.data.gpx.GpxData; import org.openstreetmap.josm.gui.layer.GpxLayer; import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer; import org.openstreetmap.josm.gui.progress.NullProgressMonitor; import org.openstreetmap.josm.gui.progress.ProgressMonitor; import org.openstreetmap.josm.io.FileImporter; import org.openstreetmap.josm.io.IllegalDataException; /** * * @author Oliver Wieland <oliver.wieland@online.de> * */ public class ColumbusCSVImporter extends FileImporter { ... }
comment:52 by , 7 years ago
Replying to Don-vip:
Damn, this is unexpected:
[...]
Just a small NPE-bug.
The ant output is not particularly helpful, but this gave a stacktrace:
$ java -classpath build2:tools/checkstyle/checkstyle-all.jar com.puppycrawl.tools.checkstyle.Main -c tools/checkstyle/josm_checks.xml ../plugins/ColumbusCSV/src/org/openstreetmap/josm/plugins/columbusCSV/ColumbusCSVImporter.java
comment:62 by , 7 years ago
comment:63 by , 7 years ago
Vincent, you are very strict with us, making the build fail when there are checkstyle violations ... ;)
comment:64 by , 7 years ago
I dit it before you applied the new checkstyle rule ;)
There is currently a tiny tolerance: up to 1 Java warning is allowed :D
comment:65 by , 7 years ago
Hmm, then I should probably try to get the one out of Undo/Redo, so that others have a chance to get that tolerance (in hope that you don't just decrease the tolerance then :D)
comment:67 by , 7 years ago
MultikeyActionsHandler
and MultikeyShortcutAction
have no javadoc. Yet Checkstyle is happy?
comment:70 by , 7 years ago
These classes need javadoc:
/org/openstreetmap/josm/tools/MultikeyActionsHandler.java /org/openstreetmap/josm/tools/MultikeyShortcutAction.java /org/openstreetmap/josm/tools/template_engine/CompoundTemplateEntry.java /org/openstreetmap/josm/tools/template_engine/Condition.java /org/openstreetmap/josm/tools/template_engine/ParseError.java /org/openstreetmap/josm/tools/template_engine/SearchExpressionCondition.java /org/openstreetmap/josm/tools/template_engine/StaticText.java /org/openstreetmap/josm/tools/template_engine/TemplateEngineDataProvider.java
comment:74 by , 7 years ago
I've increased the number of allowed checkstyle warnings to let us time to document the template engine classes.
comment:76 by , 10 months ago
See #23465: follow up to replace the custom check with a standardized check from checkstyle (MissingJavadocType).
Attached is a Checkstyle check that finds files with missing top level Javadoc.