Return-Path: Delivered-To: apmail-commons-issues-archive@minotaur.apache.org Received: (qmail 69182 invoked from network); 13 Mar 2009 19:53:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 13 Mar 2009 19:53:21 -0000 Received: (qmail 99937 invoked by uid 500); 13 Mar 2009 19:53:19 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 99881 invoked by uid 500); 13 Mar 2009 19:53:18 -0000 Mailing-List: contact issues-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@commons.apache.org Delivered-To: mailing list issues@commons.apache.org Received: (qmail 99870 invoked by uid 99); 13 Mar 2009 19:53:18 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Mar 2009 12:53:18 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Mar 2009 19:53:11 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 9D7B7234C4AC for ; Fri, 13 Mar 2009 12:52:51 -0700 (PDT) Message-ID: <1589894713.1236973971643.JavaMail.jira@brutus> Date: Fri, 13 Mar 2009 12:52:51 -0700 (PDT) From: "Sebb (JIRA)" To: issues@commons.apache.org Subject: [jira] Commented: (SANDBOX-300) Threading Requirements In-Reply-To: <653300024.1236853374790.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/SANDBOX-300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12681876#action_12681876 ] Sebb commented on SANDBOX-300: ------------------------------ Documenting thread-safety: There are some useful annotations in JCIP (http://jcip.net/annotations/doc/net/jcip/annotations/package-summary.html).: @GuardedBy (field or method) @Immutable (class) @NotThreadSafe (class) @ThreadSafe (class) Although Compress does not currently target Java 1.5, one could still add the annotations as comments. These could be uncommented later, and used in tools such as Findbugs (when the checks are implemented). So for example, one could have: {code} /** * Utility class that represents a four byte integer with conversion * rules for the big endian byte order of ZIP files. * * @Immutable */ public final class ZipLong implements Cloneable { {code} and {code} private final char [] highChars; //@GuardedBy("this") private Simple8BitZipEncoding encoding; {code} > Threading Requirements > ---------------------- > > Key: SANDBOX-300 > URL: https://issues.apache.org/jira/browse/SANDBOX-300 > Project: Commons Sandbox > Issue Type: Improvement > Components: Compress > Reporter: Christian Grobmeier > > The compress source has not got any docs about threading behaviour. > The following must be discussed before a release 1: > * decide/document thread-safety requirements. > * fix classes that violate them > * possibly relax requirements if some classes are difficult/expensive to fix. > Additionally javadoc must be updated with the decisions/behaviour. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.