indeed, I just forgot that we already have that dependency :P

moving to guava right now, merci!

-Simo

http://people.apache.org/~simonetripodi/
http://simonetripodi.livejournal.com/
http://twitter.com/simonetripodi
http://www.99soft.org/



On Fri, Feb 24, 2012 at 4:25 PM, Benoit Perroud <[email protected]> wrote:
> Hi Simone,
>
> I wonder why not using Guava's Preconditions ? Sounds really the same
> (checkState, checkArgs, ...)
>
> Cheers,
>
> Benoit.
>
> 2012/2/24  <[email protected]>:
>> 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

Reply via email to