package com.github.vbauer.jconditions.annotation; import com.github.vbauer.jconditions.checker.SocketIsOpenedChecker; 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 socket is opened. * * @author Vladislav Bauer */ @Documented @Condition(SocketIsOpenedChecker.class) @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE, ElementType.TYPE, ElementType.METHOD}) public @interface SocketIsOpened { /** * Default value for host. */ String DEFAULT_HOST = "0.0.0.0"; /** * Default value for timeout. */ int DEFAULT_TIMEOUT = 10000; /** * Host address. Default value: {@link #DEFAULT_HOST}. * * @return host */ String host() default DEFAULT_HOST; /** * Port number. * * @return port */ int port(); /** * Maximum time for connection to the socket. Default value: {@link #DEFAULT_TIMEOUT}. * * @return timeout */ int timeout() default DEFAULT_TIMEOUT; }