package com.github.vbauer.jconditions.annotation; import com.github.vbauer.jconditions.checker.UrlIsReachableChecker; import com.github.vbauer.jconditions.core.Condition; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Checks that specified URL address is reachable (available via {@link java.net.URLConnection}). * * @author Vladislav Bauer */ @Documented @Condition(UrlIsReachableChecker.class) @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE, ElementType.METHOD}) public @interface UrlIsReachable { int DEFAULT_TIMEOUT = 10000; /** * URL address(s) that should be checked. * * @return URL address(s) */ String[] value(); /** * Maximum timeout for URL connection. * * @return timeout */ int timeout() default DEFAULT_TIMEOUT; }