Duplicate :
|
|
Duplicate :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
In the past, we've relied on engineers to get the @since tags in their javadoc correct. But it's well known that computers are much better at doing this kind of mundane task. So now there's a script "findMissingSince" that identifies all the missing/incorrect @since tags a pair of release api doc trees. There's no excuse for not simply getting all of these right, now that we can. There have been piecemeal attempts to address parts of this issue, e.g. see: 6364793: Add missing @since 1.6 in Core Library javadoc but someone (not me) should own the whole problem. Here are the @since bugs for 6.0: $ findMissingSince 6.0 1.5.0 Missing method @since: java.awt.AlphaComposite.derive(float) Missing method @since: java.awt.AlphaComposite.derive(int) Missing class @since: java.awt.SplashScreen Missing method @since: java.awt.Toolkit.createDesktopPeer(java.awt.Desktop) Missing class @since: java.awt.TrayIcon.MessageType Missing method @since: java.awt.event.MouseEvent.MouseEvent(java.awt.Component,int,long,int,int,int,int,int,int,boolean,int) Missing method @since: java.awt.event.MouseEvent.getXOnScreen() Missing method @since: java.awt.event.MouseEvent.getLocationOnScreen() Missing method @since: java.awt.event.MouseEvent.getYOnScreen() Missing method @since: java.awt.event.MouseWheelEvent.MouseWheelEvent(java.awt.Component,int,long,int,int,int,int,int,int,boolean,int,int,int) Missing method @since: java.io.File.canExecute() Missing method @since: java.io.ObjectStreamClass.lookupAny(java.lang.Class) Missing method @since: java.nio.Buffer.isDirect() Missing method @since: java.nio.Buffer.array() Missing method @since: java.nio.Buffer.hasArray() Missing method @since: java.nio.Buffer.arrayOffset() Missing method @since: java.sql.Connection.getClientInfo(java.lang.String) Missing method @since: java.sql.Connection.setClientInfo(java.util.Properties) Missing method @since: java.sql.Connection.isValid(int) Missing method @since: java.sql.Connection.setClientInfo(java.lang.String,java.lang.String) Missing method @since: java.sql.DataTruncation.DataTruncation(int,boolean,boolean,int,int,java.lang.String) Missing method @since: java.sql.DataTruncation.DataTruncation(int,boolean,boolean,int,int,java.lang.String,java.lang.Throwable) Missing method @since: java.sql.DataTruncation.DataTruncation(int,boolean,boolean,int,int,java.lang.Throwable) Missing method @since: java.sql.PreparedStatement.isPoolable() Missing method @since: java.sql.ResultSet.getSQLXML(java.lang.String) Missing method @since: java.sql.SQLException.iterator() Missing method @since: java.sql.SQLWarning.SQLWarning(java.lang.Throwable) Missing method @since: java.sql.SQLWarning.SQLWarning(java.lang.String,java.lang.String,java.lang.Throwable) Missing method @since: java.sql.SQLWarning.SQLWarning(java.lang.String,java.lang.Throwable) Missing method @since: java.sql.SQLWarning.SQLWarning(java.lang.String,java.lang.String,int,java.lang.Throwable) Missing method @since: java.util.LinkedList.descendingIterator() Missing method @since: java.util.concurrent.locks.ReentrantReadWriteLock.getReadHoldCount() Missing class @since: javax.management.DescriptorKey Wrong method @since: javax.management.remote.rmi.RMIConnector.getAddress() 1.5 Missing method @since: javax.management.modelmbean.ModelMBeanInfoSupport.getDescriptor() Missing method @since: javax.net.ssl.SSLContextSpi.engineGetSupportedSSLParameters() Missing method @since: javax.net.ssl.SSLContextSpi.engineGetDefaultSSLParameters() Missing class @since: javax.sql.CommonDataSource Missing method @since: javax.sql.rowset.RowSetMetaDataImpl.isWrapperFor(java.lang.Class) Missing method @since: javax.sql.rowset.RowSetMetaDataImpl.unwrap(java.lang.Class) Missing method @since: javax.sql.rowset.serial.SerialBlob.free() Missing method @since: javax.sql.rowset.serial.SerialBlob.getBinaryStream(long,long) Missing method @since: javax.sql.rowset.serial.SerialClob.getCharacterStream(long,long) Missing method @since: javax.sql.rowset.serial.SerialClob.free() Missing method @since: javax.swing.event.MenuDragMouseEvent.MenuDragMouseEvent(java.awt.Component,int,long,int,int,int,int,int,int,boolean,javax.swing.MenuElement[],javax.swing.MenuSelectionManager) Missing class @since: javax.swing.SwingWorker.StateValue Missing method @since: javax.swing.TransferHandler.shouldIndicate(javax.swing.TransferHandler.TransferInfo,boolean) Missing method @since: javax.swing.plaf.metal.MetalLookAndFeel.getLayoutStyle() Missing method @since: javax.xml.parsers.DocumentBuilderFactory.newInstance(java.lang.String,java.lang.ClassLoader) Missing method @since: javax.xml.parsers.SAXParserFactory.newInstance(java.lang.String,java.lang.ClassLoader) Missing method @since: javax.xml.transform.TransformerFactory.newInstance(java.lang.String,java.lang.ClassLoader) Missing method @since: javax.xml.datatype.DatatypeFactory.newInstance(java.lang.String,java.lang.ClassLoader) Missing method @since: javax.xml.validation.SchemaFactory.newInstance(java.lang.String,java.lang.String,java.lang.ClassLoader) Missing method @since: javax.xml.xpath.XPathFactory.newInstance(java.lang.String,java.lang.String,java.lang.ClassLoader) Here are the @since bugs for 1.5 (not too late to add @since in mustang): (Note: findMissingSince can be found in /java/jdk/bin) $ findMissingSince 1.5.0 1.4.2 Missing method @since: java.awt.BasicStroke.feedConsumer(sun.dc.path.PathConsumer,java.awt.geom.PathIterator) Missing method @since: java.awt.event.InvocationEvent.getThrowable() Missing method @since: java.awt.Toolkit.getMouseInfoPeer() Missing method @since: java.awt.image.BufferedImage.getCapabilities(java.awt.GraphicsConfiguration) Missing method @since: java.io.Reader.read(java.nio.CharBuffer) Missing method @since: java.lang.Class.getAnnotation(java.lang.Class) Missing method @since: java.lang.Class.getDeclaredAnnotations() Missing method @since: java.lang.Class.isAnnotationPresent(java.lang.Class) Missing method @since: java.lang.Class.getAnnotations() Missing class @since: java.lang.Iterable Missing method @since: java.lang.Math.log1p(double) Missing method @since: java.lang.Math.expm1(double) Missing method @since: java.lang.Package.getAnnotations() Missing method @since: java.lang.Package.getAnnotation(java.lang.Class) Missing method @since: java.lang.Package.isAnnotationPresent(java.lang.Class) Missing method @since: java.lang.Package.getDeclaredAnnotations() Missing method @since: java.lang.StrictMath.log1p(double) Missing method @since: java.lang.StrictMath.expm1(double) Missing method @since: java.lang.reflect.AccessibleObject.getDeclaredAnnotations() Missing method @since: java.lang.reflect.AccessibleObject.getAnnotation(java.lang.Class) Missing method @since: java.lang.reflect.AccessibleObject.getAnnotations() Missing method @since: java.lang.reflect.AccessibleObject.isAnnotationPresent(java.lang.Class) Missing method @since: java.lang.reflect.Constructor.getDeclaredAnnotations() Missing method @since: java.lang.reflect.Constructor.getAnnotation(java.lang.Class) Missing method @since: java.lang.reflect.Field.getAnnotation(java.lang.Class) Missing method @since: java.lang.reflect.Field.getDeclaredAnnotations() Missing method @since: java.lang.reflect.Method.getDeclaredAnnotations() Missing method @since: java.lang.reflect.Method.getAnnotation(java.lang.Class) Missing method @since: java.math.BigDecimal.divide(java.math.BigDecimal,java.math.RoundingMode) Missing method @since: java.math.BigDecimal.abs(java.math.MathContext) Missing method @since: java.math.BigDecimal.stripTrailingZeros() Missing class @since: java.math.MathContext Missing class @since: java.math.RoundingMode Missing method @since: java.net.HttpURLConnection.setChunkedStreamingMode(int) Missing method @since: java.net.HttpURLConnection.setFixedLengthStreamingMode(int) Missing method @since: java.net.URI.compareTo(java.net.URI) Missing method @since: java.nio.ByteBuffer.compareTo(java.nio.ByteBuffer) Missing method @since: java.nio.CharBuffer.read(java.nio.CharBuffer) Missing method @since: java.nio.CharBuffer.compareTo(java.nio.CharBuffer) Missing method @since: java.nio.DoubleBuffer.compareTo(java.nio.DoubleBuffer) Missing method @since: java.nio.FloatBuffer.compareTo(java.nio.FloatBuffer) Missing method @since: java.nio.IntBuffer.compareTo(java.nio.IntBuffer) Missing method @since: java.nio.LongBuffer.compareTo(java.nio.LongBuffer) Missing method @since: java.nio.ShortBuffer.compareTo(java.nio.ShortBuffer) Missing method @since: java.nio.charset.Charset.compareTo(java.nio.charset.Charset) Missing method @since: java.text.BreakIterator.getInt(byte[],int) Missing method @since: java.text.BreakIterator.getLong(byte[],int) Missing method @since: java.text.BreakIterator.getShort(byte[],int) Missing class @since: java.util.Formatter.BigDecimalLayoutForm Missing class @since: java.util.jar.Pack200.Packer Missing class @since: java.util.jar.Pack200.Unpacker Missing method @since: java.util.logging.LogManager.getLoggingMXBean() Missing method @since: java.util.regex.Matcher.toMatchResult() Missing method @since: java.util.zip.Deflater.getBytesRead() Missing method @since: java.util.zip.Deflater.getBytesWritten() Missing method @since: java.util.zip.Inflater.getBytesWritten() Missing method @since: java.util.zip.Inflater.getBytesRead() Missing class @since: javax.accessibility.AccessibleAttributeSequence Missing class @since: javax.accessibility.AccessibleExtendedText Missing class @since: javax.accessibility.AccessibleStreamable Missing class @since: javax.accessibility.AccessibleTextSequence Missing method @since: javax.crypto.EncryptedPrivateKeyInfo.getKeySpec(java.security.Key,java.security.Provider) Missing method @since: javax.crypto.EncryptedPrivateKeyInfo.getKeySpec(java.security.Key,java.lang.String) Missing method @since: javax.crypto.EncryptedPrivateKeyInfo.getKeySpec(java.security.Key) Missing class @since: javax.crypto.spec.PSource.PSpecified Missing method @since: javax.imageio.metadata.IIOMetadataNode.isEqualNode(org.w3c.dom.Node) Missing method @since: javax.imageio.metadata.IIOMetadataNode.getFeature(java.lang.String,java.lang.String) Missing method @since: javax.imageio.metadata.IIOMetadataNode.compareDocumentPosition(org.w3c.dom.Node) Missing method @since: javax.imageio.metadata.IIOMetadataNode.getBaseURI() Missing method @since: javax.imageio.metadata.IIOMetadataNode.getUserData(java.lang.String) Missing method @since: javax.imageio.metadata.IIOMetadataNode.setUserData(java.lang.String,java.lang.Object,org.w3c.dom.UserDataHandler) Missing method @since: javax.imageio.metadata.IIOMetadataNode.getTextContent() Missing method @since: javax.imageio.metadata.IIOMetadataNode.isSameNode(org.w3c.dom.Node) Missing method @since: javax.imageio.metadata.IIOMetadataNode.setIdAttribute(java.lang.String,boolean) Missing method @since: javax.imageio.metadata.IIOMetadataNode.lookupNamespaceURI(java.lang.String) Missing method @since: javax.imageio.metadata.IIOMetadataNode.lookupPrefix(java.lang.String) Missing method @since: javax.imageio.metadata.IIOMetadataNode.setIdAttributeNode(org.w3c.dom.Attr,boolean) Missing method @since: javax.imageio.metadata.IIOMetadataNode.getSchemaTypeInfo() Missing method @since: javax.imageio.metadata.IIOMetadataNode.setTextContent(java.lang.String) Missing method @since: javax.imageio.metadata.IIOMetadataNode.isDefaultNamespace(java.lang.String) Missing method @since: javax.imageio.metadata.IIOMetadataNode.setIdAttributeNS(java.lang.String,java.lang.String,boolean) Missing method @since: javax.print.attribute.standard.JobStateReasons.add(javax.print.attribute.standard.JobStateReason) Missing method @since: javax.print.attribute.standard.PrinterStateReasons.put(javax.print.attribute.standard.PrinterStateReason,javax.print.attribute.standard.Severity) Missing class @since: javax.rmi.CORBA.ValueHandlerMultiFormat Missing class @since: javax.swing.text.html.FormSubmitEvent.MethodType Missing method @since: javax.swing.LookAndFeel.installProperty(javax.swing.JComponent,java.lang.String,java.lang.Object) Missing method @since: javax.swing.plaf.basic.BasicSplitPaneDivider.isMouseOver() Missing method @since: javax.xml.parsers.DocumentBuilderFactory.setFeature(java.lang.String,boolean) Missing method @since: javax.xml.parsers.DocumentBuilderFactory.getFeature(java.lang.String) Missing method @since: javax.xml.transform.TransformerFactory.setFeature(java.lang.String,boolean) Missing class @since: org.omg.CORBA.ACTIVITY_COMPLETED Missing class @since: org.omg.CORBA.ACTIVITY_REQUIRED Missing class @since: org.omg.CORBA.BAD_QOS Missing class @since: org.omg.CORBA.CODESET_INCOMPATIBLE Missing class @since: org.omg.CORBA.INVALID_ACTIVITY Missing class @since: org.omg.CORBA.REBIND Missing class @since: org.omg.CORBA.TIMEOUT Missing class @since: org.omg.CORBA.TRANSACTION_MODE Missing class @since: org.omg.CORBA.TRANSACTION_UNAVAILABLE Missing class @since: org.omg.CORBA.portable.ValueInputStream Missing class @since: org.omg.CORBA.portable.ValueOutputStream Missing method @since: org.omg.CosNaming.BindingIteratorHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.omg.CosNaming.NamingContextExtHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.omg.CosNaming.NamingContextHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.omg.PortableServer.ServantActivatorHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.omg.PortableServer.ServantLocatorHelper.unchecked_narrow(org.omg.CORBA.Object) Missing class @since: org.omg.PortableInterceptor.ACTIVE Missing class @since: org.omg.PortableInterceptor.AdapterManagerIdHelper Missing class @since: org.omg.PortableInterceptor.AdapterNameHelper Missing class @since: org.omg.PortableInterceptor.AdapterStateHelper Missing method @since: org.omg.PortableInterceptor.CurrentHelper.unchecked_narrow(org.omg.CORBA.Object) Missing class @since: org.omg.PortableInterceptor.DISCARDING Missing class @since: org.omg.PortableInterceptor.HOLDING Missing class @since: org.omg.PortableInterceptor.INACTIVE Missing method @since: org.omg.PortableInterceptor.IORInfoOperations.state() Missing method @since: org.omg.PortableInterceptor.IORInfoOperations.current_factory(org.omg.PortableInterceptor.ObjectReferenceFactory) Missing method @since: org.omg.PortableInterceptor.IORInfoOperations.adapter_template() Missing method @since: org.omg.PortableInterceptor.IORInfoOperations.current_factory() Missing method @since: org.omg.PortableInterceptor.IORInfoOperations.manager_id() Missing class @since: org.omg.PortableInterceptor.IORInterceptor_3_0 Missing class @since: org.omg.PortableInterceptor.IORInterceptor_3_0Helper Missing class @since: org.omg.PortableInterceptor.IORInterceptor_3_0Holder Missing class @since: org.omg.PortableInterceptor.IORInterceptor_3_0Operations Missing class @since: org.omg.PortableInterceptor.NON_EXISTENT Missing class @since: org.omg.PortableInterceptor.ObjectIdHelper Missing class @since: org.omg.PortableInterceptor.ObjectReferenceFactory Missing class @since: org.omg.PortableInterceptor.ObjectReferenceFactoryHelper Missing class @since: org.omg.PortableInterceptor.ObjectReferenceFactoryHolder Missing class @since: org.omg.PortableInterceptor.ObjectReferenceTemplate Missing class @since: org.omg.PortableInterceptor.ObjectReferenceTemplateHelper Missing class @since: org.omg.PortableInterceptor.ObjectReferenceTemplateHolder Missing class @since: org.omg.PortableInterceptor.ObjectReferenceTemplateSeqHelper Missing class @since: org.omg.PortableInterceptor.ObjectReferenceTemplateSeqHolder Missing class @since: org.omg.PortableInterceptor.ORBIdHelper Missing class @since: org.omg.PortableInterceptor.ServerIdHelper Missing method @since: org.omg.PortableInterceptor.ServerRequestInfoOperations.orb_id() Missing method @since: org.omg.PortableInterceptor.ServerRequestInfoOperations.adapter_name() Missing method @since: org.omg.PortableInterceptor.ServerRequestInfoOperations.server_id() Missing class @since: org.omg.PortableInterceptor.UNKNOWN Missing method @since: org.omg.IOP.CodecFactoryHelper.unchecked_narrow(org.omg.CORBA.Object) Missing class @since: org.omg.IOP.ExceptionDetailMessage Missing class @since: org.omg.IOP.RMICustomMaxStreamFormat Missing class @since: org.omg.IOP.TAG_RMI_CUSTOM_MAX_STREAM_FORMAT Missing method @since: org.omg.DynamicAny.DynAnyFactoryHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.omg.DynamicAny.DynAnyHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.omg.DynamicAny.DynArrayHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.omg.DynamicAny.DynEnumHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.omg.DynamicAny.DynFixedHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.omg.DynamicAny.DynSequenceHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.omg.DynamicAny.DynStructHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.omg.DynamicAny.DynUnionHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.omg.DynamicAny.DynValueHelper.unchecked_narrow(org.omg.CORBA.Object) Missing method @since: org.w3c.dom.Attr.getSchemaTypeInfo() Missing method @since: org.w3c.dom.Attr.isId() Missing method @since: org.w3c.dom.Document.getStrictErrorChecking() Missing method @since: org.w3c.dom.Document.getXmlVersion() Missing method @since: org.w3c.dom.Document.adoptNode(org.w3c.dom.Node) Missing method @since: org.w3c.dom.Document.normalizeDocument() Missing method @since: org.w3c.dom.Document.getXmlStandalone() Missing method @since: org.w3c.dom.Document.getXmlEncoding() Missing method @since: org.w3c.dom.Document.setDocumentURI(java.lang.String) Missing method @since: org.w3c.dom.Document.getDocumentURI() Missing method @since: org.w3c.dom.Document.setXmlVersion(java.lang.String) Missing method @since: org.w3c.dom.Document.setXmlStandalone(boolean) Missing method @since: org.w3c.dom.Document.setStrictErrorChecking(boolean) Missing method @since: org.w3c.dom.Document.getInputEncoding() Missing method @since: org.w3c.dom.Document.getDomConfig() Missing method @since: org.w3c.dom.Document.renameNode(org.w3c.dom.Node,java.lang.String,java.lang.String) Missing class @since: org.w3c.dom.DOMConfiguration Missing class @since: org.w3c.dom.DOMError Missing class @since: org.w3c.dom.DOMErrorHandler Missing method @since: org.w3c.dom.DOMImplementation.getFeature(java.lang.String,java.lang.String) Missing class @since: org.w3c.dom.DOMImplementationList Missing class @since: org.w3c.dom.DOMImplementationSource Missing class @since: org.w3c.dom.DOMLocator Missing class @since: org.w3c.dom.DOMStringList Missing method @since: org.w3c.dom.Element.getSchemaTypeInfo() Missing method @since: org.w3c.dom.Element.setIdAttributeNode(org.w3c.dom.Attr,boolean) Missing method @since: org.w3c.dom.Element.setIdAttributeNS(java.lang.String,java.lang.String,boolean) Missing method @since: org.w3c.dom.Element.setIdAttribute(java.lang.String,boolean) Missing method @since: org.w3c.dom.Entity.getXmlVersion() Missing method @since: org.w3c.dom.Entity.getInputEncoding() Missing method @since: org.w3c.dom.Entity.getXmlEncoding() Missing class @since: org.w3c.dom.NameList Missing method @since: org.w3c.dom.Node.getFeature(java.lang.String,java.lang.String) Missing method @since: org.w3c.dom.Node.isSameNode(org.w3c.dom.Node) Missing method @since: org.w3c.dom.Node.getBaseURI() Missing method @since: org.w3c.dom.Node.getTextContent() Missing method @since: org.w3c.dom.Node.isEqualNode(org.w3c.dom.Node) Missing method @since: org.w3c.dom.Node.setTextContent(java.lang.String) Missing method @since: org.w3c.dom.Node.isDefaultNamespace(java.lang.String) Missing method @since: org.w3c.dom.Node.compareDocumentPosition(org.w3c.dom.Node) Missing method @since: org.w3c.dom.Node.lookupPrefix(java.lang.String) Missing method @since: org.w3c.dom.Node.setUserData(java.lang.String,java.lang.Object,org.w3c.dom.UserDataHandler) Missing method @since: org.w3c.dom.Node.lookupNamespaceURI(java.lang.String) Missing method @since: org.w3c.dom.Node.getUserData(java.lang.String) Missing method @since: org.w3c.dom.Text.getWholeText() Missing method @since: org.w3c.dom.Text.isElementContentWhitespace() Missing method @since: org.w3c.dom.Text.replaceWholeText(java.lang.String) Missing class @since: org.w3c.dom.TypeInfo Missing class @since: org.w3c.dom.UserDataHandler Missing method @since: org.xml.sax.SAXException.SAXException() Missing method @since: org.xml.sax.SAXNotRecognizedException.SAXNotRecognizedException() Missing method @since: org.xml.sax.SAXNotSupportedException.SAXNotSupportedException() Missing class @since: org.xml.sax.ext.Attributes2 Missing class @since: org.xml.sax.ext.Attributes2Impl Missing class @since: org.xml.sax.ext.DefaultHandler2 Missing class @since: org.xml.sax.ext.EntityResolver2 Missing class @since: org.xml.sax.ext.Locator2 Missing class @since: org.xml.sax.ext.Locator2Impl Missing method @since: org.xml.sax.helpers.NamespaceSupport.setNamespaceDeclUris(boolean) Missing method @since: org.xml.sax.helpers.NamespaceSupport.isNamespaceDeclUris()
|