incubator-directmemory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benoit Perroud <ben...@noisette.ch>
Subject Re: svn commit: r1293280 - in /incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils: ./ Assertions.java package-info.java
Date Fri, 24 Feb 2012 15:25:31 GMT
Hi Simone,

I wonder why not using Guava's Preconditions ? Sounds really the same
(checkState, checkArgs, ...)

Cheers,

Benoit.

2012/2/24  <simonetripodi@apache.org>:
> Author: simonetripodi
> Date: Fri Feb 24 14:51:43 2012
> New Revision: 1293280
>
> URL: http://svn.apache.org/viewvc?rev=1293280&view=rev
> Log:
> first checkin of internal stuff
>
> Added:
>    incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/
>    incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/Assertions.java
  (with props)
>    incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/package-info.java
  (with props)
>
> Added: incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/Assertions.java
> URL: http://svn.apache.org/viewvc/incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/Assertions.java?rev=1293280&view=auto
> ==============================================================================
> --- incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/Assertions.java
(added)
> +++ incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/Assertions.java
Fri Feb 24 14:51:43 2012
> @@ -0,0 +1,112 @@
> +package org.apache.directmemory.utils;
> +
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one or more
> + * contributor license agreements.  See the NOTICE file distributed with
> + * this work for additional information regarding copyright ownership.
> + * The ASF licenses this file to You under the Apache License, Version 2.0
> + * (the "License"); you may not use this file except in compliance with
> + * the License.  You may obtain a copy of the License at
> + *
> + *     http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing, software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> + * See the License for the specific language governing permissions and
> + * limitations under the License.
> + */
> +
> +import static java.lang.String.format;
> +
> +/**
> + * Code partially extracted from Google Collections
> + */
> +public final class Assertions
> +{
> +
> +    private Assertions()
> +    {
> +        // do nothing
> +    }
> +
> +    /**
> +     * Ensures the truth of an expression involving one or more parameters to the
> +     * calling method.
> +     *
> +     * @param expression a boolean expression
> +     * @param errorMessageTemplate a template for the exception message should the
> +     *     check fail. The message is formed by replacing each {@code %s}
> +     *     placeholder in the template with an argument. These are matched by
> +     *     position - the first {@code %s} gets {@code errorMessageArgs[0]}, etc.
> +     *     Unmatched arguments will be appended to the formatted message in square
> +     *     braces. Unmatched placeholders will be left as-is.
> +     * @param errorMessageArgs the arguments to be substituted into the message
> +     *     template. Arguments are converted to strings using
> +     *     {@link String#valueOf(Object)}.
> +     * @throws IllegalArgumentException if {@code expression} is false
> +     * @throws NullPointerException if the check fails and either {@code
> +     *     errorMessageTemplate} or {@code errorMessageArgs} is null (don't let
> +     *     this happen)
> +     */
> +    public static void checkArgument( boolean expression, String errorMessageTemplate,
Object... errorMessageArgs )
> +    {
> +        if ( !expression )
> +        {
> +            throw new IllegalArgumentException( format( errorMessageTemplate,
errorMessageArgs ) );
> +        }
> +    }
> +
> +    /**
> +     * Ensures the truth of an expression involving the state of the calling
> +     * instance, but not involving any parameters to the calling method.
> +     *
> +     * @param expression a boolean expression
> +     * @param errorMessageTemplate a template for the exception message should the
> +     *     check fail. The message is formed by replacing each {@code %s}
> +     *     placeholder in the template with an argument. These are matched by
> +     *     position - the first {@code %s} gets {@code errorMessageArgs[0]}, etc.
> +     *     Unmatched arguments will be appended to the formatted message in square
> +     *     braces. Unmatched placeholders will be left as-is.
> +     * @param errorMessageArgs the arguments to be substituted into the message template.
> +     * @throws IllegalStateException if {@code expression} is false
> +     * @throws NullPointerException if the check fails and either {@code
> +     *     errorMessageTemplate} or {@code errorMessageArgs} is null (don't let
> +     *     this happen)
> +     */
> +    public static void checkState( boolean expression, String errorMessageTemplate,
Object... errorMessageArgs )
> +    {
> +        if ( !expression )
> +        {
> +            throw new IllegalStateException( format( errorMessageTemplate, errorMessageArgs
) );
> +        }
> +    }
> +
> +    /**
> +     * Ensures that an object reference passed as a parameter to the calling
> +     * method is not null.
> +     *
> +     * @param reference an object reference
> +     * @param errorMessageTemplate a template for the exception message should the
> +     *     check fail. The message is formed by replacing each {@code %s}
> +     *     placeholder in the template with an argument. These are matched by
> +     *     position - the first {@code %s} gets {@code errorMessageArgs[0]}, etc.
> +     *     Unmatched arguments will be appended to the formatted message in square
> +     *     braces. Unmatched placeholders will be left as-is.
> +     * @param errorMessageArgs the arguments to be substituted into the message
> +     *     template. Arguments are converted to strings using
> +     *     {@link String#valueOf(Object)}.
> +     * @return the non-null reference that was validated
> +     * @throws NullPointerException if {@code reference} is null
> +     */
> +    public static <T> T checkNotNull( T reference, String errorMessageTemplate,
Object... errorMessageArgs )
> +    {
> +        if ( reference == null )
> +        {
> +            // If either of these parameters is null, the right thing happens
anyway
> +            throw new NullPointerException( format( errorMessageTemplate, errorMessageArgs
) );
> +        }
> +        return reference;
> +    }
> +
> +}
>
> Propchange: incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/Assertions.java
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Propchange: incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/Assertions.java
> ------------------------------------------------------------------------------
>    svn:keywords = Date Author Id Revision HeadURL
>
> Propchange: incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/Assertions.java
> ------------------------------------------------------------------------------
>    svn:mime-type = text/plain
>
> Added: incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/package-info.java
> URL: http://svn.apache.org/viewvc/incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/package-info.java?rev=1293280&view=auto
> ==============================================================================
> --- incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/package-info.java
(added)
> +++ incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/package-info.java
Fri Feb 24 14:51:43 2012
> @@ -0,0 +1,25 @@
> +/**
> + * Various internal use only utility classes.
> + *
> + * Users must not rely on classes in this package.
> + */
> +package org.apache.directmemory.utils;
> +
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements.  See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership.  The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License.  You may obtain a copy of the License at
> + *
> + *   http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied.  See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
>
> Propchange: incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/package-info.java
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Propchange: incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/package-info.java
> ------------------------------------------------------------------------------
>    svn:keywords = Date Author Id Revision HeadURL
>
> Propchange: incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/utils/package-info.java
> ------------------------------------------------------------------------------
>    svn:mime-type = text/plain
>
>



-- 
sent from my Nokia 3210

Mime
View raw message