//
//  Generated by the J2ObjC translator.  DO NOT EDIT!
//  source: /Users/antoniocortes/j2objcprj/relases/j2objc/guava/android/build_result/java/com/google/common/base/Verify.java
//

#include "J2ObjC_header.h"

#pragma push_macro("INCLUDE_ALL_ComGoogleCommonBaseVerify")
#ifdef RESTRICT_ComGoogleCommonBaseVerify
#define INCLUDE_ALL_ComGoogleCommonBaseVerify 0
#else
#define INCLUDE_ALL_ComGoogleCommonBaseVerify 1
#endif
#undef RESTRICT_ComGoogleCommonBaseVerify

#pragma clang diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"

#if __has_feature(nullability)
#pragma clang diagnostic push
#pragma GCC diagnostic ignored "-Wnullability"
#pragma GCC diagnostic ignored "-Wnullability-completeness"
#endif

#if !defined (ComGoogleCommonBaseVerify_) && (INCLUDE_ALL_ComGoogleCommonBaseVerify || defined(INCLUDE_ComGoogleCommonBaseVerify))
#define ComGoogleCommonBaseVerify_

@class IOSObjectArray;

/*!
 @brief Static convenience methods that serve the same purpose as Java language <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/language/assert.html">
 assertions</a>,
  except that they are always enabled.These methods should be used instead of Java assertions
  whenever there is a chance the check may fail "in real life".
 Example: 
 @code
 Bill bill = remoteService.getLastUnpaidBill();
  // In case bug 12345 happens again we'd rather just die
  Verify.verify(bill.status() == Status.UNPAID,
      "Unexpected bill status: %s", bill.status()); 
 
@endcode
  
 <h3>Comparison to alternatives</h3>
  
 <p><b>Note:</b> In some cases the differences explained below can be subtle. When it's unclear
  which approach to use, <b>don't worry</b> too much about it; just pick something that seems
  reasonable and it will be fine. 
 <ul>
    <li>If checking whether the <i>caller</i> has violated your method or constructor's contract
        (such as by passing an invalid argument), use the utilities of the <code>Preconditions</code>
        class instead.   
 <li>If checking an <i>impossible</i> condition (which <i>cannot</i> happen unless your own
        class or its <i>trusted</i> dependencies is badly broken), this is what ordinary Java
        assertions are for. Note that assertions are not enabled by default; they are essentially
        considered "compiled comments."   
 <li>An explicit <code>if/throw</code> (as illustrated below) is always acceptable; we still
        recommend using our <code>VerifyException</code> exception type. Throwing a plain <code>RuntimeException</code>
  is frowned upon.
    <li>Use of <code>java.util.Objects.requireNonNull(Object)</code> is generally discouraged, since
        <code>verifyNotNull(Object)</code> and <code>Preconditions.checkNotNull(Object)</code> perform the
        same function with more clarity. 
 </ul>
  
 <h3>Warning about performance</h3>
  
 <p>Remember that parameter values for message construction must all be computed eagerly, and
  autoboxing and varargs array creation may happen as well, even when the verification succeeds and
  the message ends up unneeded. Performance-sensitive verification checks should continue to use
  usual form: 
 @code
 Bill bill = remoteService.getLastUnpaidBill();
  if (bill.status() != Status.UNPAID) {
    throw new VerifyException("Unexpected bill status: " + bill.status());
  } 
 
@endcode
  
 <h3>Only <code>%s</code> is supported</h3>
  
 <p>As with <code>Preconditions</code>, <code>Verify</code> uses <code>Strings.lenientFormat</code> to format
  error message template strings. This only supports the <code>"%s"</code> specifier, not the full range
  of <code>java.util.Formatter</code> specifiers. However, note that if the number of arguments does not
  match the number of occurrences of <code>"%s"</code> in the format string, <code>Verify</code> will still
  behave as expected, and will still include all argument values in the error message; the message
  will simply not be formatted exactly as intended. 
 <h3>More information</h3>
  See <a href="https://github.com/google/guava/wiki/ConditionalFailuresExplained">Conditional
  failures explained</a> in the Guava User Guide for advice on when this class should be used.
 @since 17.0
 */
@interface ComGoogleCommonBaseVerify : NSObject

#pragma mark Public

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with no
  message otherwise.
 @throw VerifyExceptionif <code>expression</code> is <code>false</code>
 - seealso: Preconditions#checkStatePreconditions.checkState()
 */
+ (void)verifyWithBoolean:(jboolean)expression;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                 withChar:(jchar)p1;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                 withChar:(jchar)p1
                 withChar:(jchar)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                 withChar:(jchar)p1
                  withInt:(jint)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                 withChar:(jchar)p1
                 withLong:(jlong)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                 withChar:(jchar)p1
                   withId:(id)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                  withInt:(jint)p1;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                  withInt:(jint)p1
                 withChar:(jchar)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                  withInt:(jint)p1
                  withInt:(jint)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                  withInt:(jint)p1
                 withLong:(jlong)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                  withInt:(jint)p1
                   withId:(id)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                 withLong:(jlong)p1;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                 withLong:(jlong)p1
                 withChar:(jchar)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                 withLong:(jlong)p1
                  withInt:(jint)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                 withLong:(jlong)p1
                 withLong:(jlong)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                 withLong:(jlong)p1
                   withId:(id)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 @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</code>  placeholder in the template with an      argument. These are matched by position - the first 
 <code>%s</code>  gets <code>errorMessageArgs[0]</code>
  , 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 
 <code>String.valueOf(Object)</code> .
 @throw VerifyExceptionif <code>expression</code> is <code>false</code>
 - seealso: Preconditions#checkStatePreconditions.checkState()
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
        withNSObjectArray:(IOSObjectArray *)errorMessageArgs;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                   withId:(id)p1;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                   withId:(id)p1
                 withChar:(jchar)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                   withId:(id)p1
                  withInt:(jint)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                   withId:(id)p1
                 withLong:(jlong)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                   withId:(id)p1
                   withId:(id)p2;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                   withId:(id)p1
                   withId:(id)p2
                   withId:(id)p3;

/*!
 @brief Ensures that <code>expression</code> is <code>true</code>, throwing a <code>VerifyException</code> with a
  custom message otherwise.
 <p>See <code>verify(boolean, String, Object...)</code> for details.
 @since 23.1 (varargs overload since 17.0)
 */
+ (void)verifyWithBoolean:(jboolean)expression
             withNSString:(NSString *)errorMessageTemplate
                   withId:(id)p1
                   withId:(id)p2
                   withId:(id)p3
                   withId:(id)p4;

/*!
 @brief Ensures that <code>reference</code> is non-null, throwing a <code>VerifyException</code> with a default
  message otherwise.
 @return <code>reference</code>, guaranteed to be non-null, for convenience
 @throw VerifyExceptionif <code>reference</code> is <code>null</code>
 - seealso: Preconditions#checkNotNullPreconditions.checkNotNull()
 */
+ (id)verifyNotNullWithId:(id)reference;

/*!
 @brief Ensures that <code>reference</code> is non-null, throwing a <code>VerifyException</code> with a custom
  message otherwise.
 @param errorMessageTemplate a template for the exception message should the check fail. The      message is formed by replacing each 
 <code>%s</code>  placeholder in the template with an      argument. These are matched by position - the first 
 <code>%s</code>  gets <code>errorMessageArgs[0]</code>
  , 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 
 <code>String.valueOf(Object)</code> .
 @return <code>reference</code>, guaranteed to be non-null, for convenience
 @throw VerifyExceptionif <code>reference</code> is <code>null</code>
 - seealso: Preconditions#checkNotNullPreconditions.checkNotNull()
 */
+ (id)verifyNotNullWithId:(id)reference
             withNSString:(NSString *)errorMessageTemplate
        withNSObjectArray:(IOSObjectArray *)errorMessageArgs;

@end

J2OBJC_EMPTY_STATIC_INIT(ComGoogleCommonBaseVerify)

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_(jboolean expression);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withNSObjectArray_(jboolean expression, NSString *errorMessageTemplate, IOSObjectArray *errorMessageArgs);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withChar_(jboolean expression, NSString *errorMessageTemplate, jchar p1);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withInt_(jboolean expression, NSString *errorMessageTemplate, jint p1);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withLong_(jboolean expression, NSString *errorMessageTemplate, jlong p1);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withId_(jboolean expression, NSString *errorMessageTemplate, id p1);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withChar_withChar_(jboolean expression, NSString *errorMessageTemplate, jchar p1, jchar p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withInt_withChar_(jboolean expression, NSString *errorMessageTemplate, jint p1, jchar p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withLong_withChar_(jboolean expression, NSString *errorMessageTemplate, jlong p1, jchar p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withId_withChar_(jboolean expression, NSString *errorMessageTemplate, id p1, jchar p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withChar_withInt_(jboolean expression, NSString *errorMessageTemplate, jchar p1, jint p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withInt_withInt_(jboolean expression, NSString *errorMessageTemplate, jint p1, jint p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withLong_withInt_(jboolean expression, NSString *errorMessageTemplate, jlong p1, jint p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withId_withInt_(jboolean expression, NSString *errorMessageTemplate, id p1, jint p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withChar_withLong_(jboolean expression, NSString *errorMessageTemplate, jchar p1, jlong p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withInt_withLong_(jboolean expression, NSString *errorMessageTemplate, jint p1, jlong p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withLong_withLong_(jboolean expression, NSString *errorMessageTemplate, jlong p1, jlong p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withId_withLong_(jboolean expression, NSString *errorMessageTemplate, id p1, jlong p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withChar_withId_(jboolean expression, NSString *errorMessageTemplate, jchar p1, id p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withInt_withId_(jboolean expression, NSString *errorMessageTemplate, jint p1, id p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withLong_withId_(jboolean expression, NSString *errorMessageTemplate, jlong p1, id p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withId_withId_(jboolean expression, NSString *errorMessageTemplate, id p1, id p2);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withId_withId_withId_(jboolean expression, NSString *errorMessageTemplate, id p1, id p2, id p3);

FOUNDATION_EXPORT void ComGoogleCommonBaseVerify_verifyWithBoolean_withNSString_withId_withId_withId_withId_(jboolean expression, NSString *errorMessageTemplate, id p1, id p2, id p3, id p4);

FOUNDATION_EXPORT id ComGoogleCommonBaseVerify_verifyNotNullWithId_(id reference);

FOUNDATION_EXPORT id ComGoogleCommonBaseVerify_verifyNotNullWithId_withNSString_withNSObjectArray_(id reference, NSString *errorMessageTemplate, IOSObjectArray *errorMessageArgs);

J2OBJC_TYPE_LITERAL_HEADER(ComGoogleCommonBaseVerify)

#endif


#if __has_feature(nullability)
#pragma clang diagnostic pop
#endif

#pragma clang diagnostic pop
#pragma pop_macro("INCLUDE_ALL_ComGoogleCommonBaseVerify")
