public void execute(final InterceptorStack stack, final ControllerMethod method, final Object controllerInstance) throws InterceptionException

private void executeSafely(final InterceptorStack stack, final ControllerMethod method, final Object controllerInstance, final Interceptor interceptor)

private static final Logger logger = LoggerFactory.getLogger(ToInstantiateInterceptorHandler.class);

private final ExecuteMethodExceptionHandler executeMethodExceptionHandler;


public Messages add(Message message)
public List<Message> getErrors()
public List<Message> getInfo()
public List<Message> getWarnings()
public List<Message> getSuccess()
public List<Message> getAll()
public List<Message> handleErrors()
public boolean hasUnhandledErrors()
public void assertAbsenceOfErrors()

private List<Message> get(Severity severity)

private static final long serialVersionUID = 728589528391504120L;

private final static Logger log = getLogger(Messages.class);

private final Map<Severity, List<Message>> messages = new HashMap<>();


public Object tryToInvoke(Object interceptor, Method stepMethod, Object... params)

public List<Method> findAllMethods(Class<?> interceptorClass)

public Method findMethod(List<Method> interceptorMethods, Class<? extends Annotation> step, Class<?> interceptorClass)

private Object invokeMethod(Object interceptor, Method stepMethod, Object... params)

private Predicate<Method> notSameClass(final Class<?> interceptorClass)

private Predicate<Method> hasStepAnnotation(final Class<? extends Annotation> step)

private final ReflectionProvider reflectionProvider;


public void validate(Class<?> originalType, List<Method> methods)

private boolean isBooleanReturn(Class<?> returnType)


private boolean hasAnnotatedMethod(Class<? extends Annotation> step, Class<?> originalType, List<Method> methods)


public static T retry(Callable<T> callable, int retries, List<String> nonRetryableKeywords)

private static RuntimeException unchecked(Exception e)

private static boolean containsAnyOf(Exception e, List<String> nonRetryableKeywords)

private static long backoffIntervalForRetry(int retryCount)

private static final ILogger LOGGER = Logger.getLogger(RetryUtils.class);

private static final long MS_IN_SECOND = 1000L;


public static Object toPrimitiveArray(Object array)

public static Object toWrapperArray(Object array)

public static Object toWrapper(Object o)

public static Class<?> toWrapper(final Class<?> primitiveType)

public static Class<?> toPrimitive(final Class<?> wrapperType)

public static boolean isPrimitive(Class<?> clz)

public static boolean isWrapper(Class<?> clz)

public static Class<?> toWrapperArray(final Class<?> primitiveArrayType)

public static Class<?> toPrimitiveArray(final Class<?> wrapperArrayType)

public static boolean isPrimitiveArray(Class<?> clz)

public static boolean isWrapperArray(Class<?> clz)

public static int sizeOf(Class<?> clz) throws IllegalArgumentException

public static T parse(Class<T> clz, String objectValue)

private static void add(final Class<?> primitiveType, final Class<?> wrapperType)

private static final BiMap<Class<?>, Class<?>> wrapperToPrimitive = HashBiMap.create();

private static final BiMap<Class<?>, Class<?>> wrapperArrayToPrimitiveArray = HashBiMap.create();


public static Method getFunctionInterfaceMethod(Class<?> clz)

public static T methodToFunctionInterface(Method method, Object target, Class<T> functionInterfaceClass, Class<?>... explicitGenericTypes)

private static boolean matchTypeBounds(Class<?> clz, TypeVariable<?> tv)

private static Stream<Class<?>> getAllBounds(TypeVariable<?> tv)

private static final Log LOG = LogFactory.from(FunctionInterfaceUtil.class);


public T result() throws NoSuchElementException

private static final Object NULL_RESULT = new Object();

@SuppressWarnings("unchecked")
private T result = (T) NULL_RESULT;


public static void todoAll(Runnable... tasks)

public static T firstSuccess(FuncE0<T, ?>... tasks) throws IllegalStateException

public static Optional<T> firstNonNull(FuncE0<T, ?>... tasks)

public static Optional<T> firstFail(ActionE0<T>... tasks)

public static void andFinal(Runnable task, Runnable then)

public static T andFinal(Supplier<T> task, Consumer<T> then)


public static void forEach(T[] array, Consumer<? super T> action)

public static void forEach(Object array, Consumer<Object> action)

public static Object deepClone(Object array)

public static int[][] transpose(int[][] origin)

public static long[][] transpose(long[][] origin)

public static T[][] transpose(T[][] origin)

public static int compare(int[] a, int[] b)


public static HashMap<K, V> newHashMap(K[] keys, V[] values)

public static V getOrPutDefault(Map<K, V> map, K key, Supplier<V> defaultGetter)


public T getBean(final BeanRepository repository, final DryRunAware dryRun)

public Class<?> resolveBeanType(final BeanRepository repository, final DryRunAware dryRun)

private final String repositoryId;
private final Object instance;


public FileTime lastModifiedTime()
public FileTime lastAccessTime()
public FileTime creationTime()
public boolean isRegularFile()
public boolean isDirectory()
public boolean isSymbolicLink()
public boolean isOther()
public long size()
public Object fileKey()

private final ShrinkWrapPath path;
private final Archive<?> archive;


public Path getPath(final String first, final String... more)

public PathMatcher getPathMatcher(final String syntaxAndPattern)

public WatchService newWatchService() throws IOException

private String merge(final String first, final String[] more)

private void checkClosed() throws ClosedFileSystemException

/**
 * Provider which created this {@link ShrinkWrapFileSystem}
 */
private final ShrinkWrapFileSystemProvider provider;

/**
 * Underlying {@link Archive}
 */
private final Archive<?> archive;

private final List<FileStore> fileStores;

/**
 * Whether or not this FS is open; volatile as we don't need compound operations and thus don't need full sync
 */
private volatile boolean open;


public FileSystem newFileSystem(final URI uri, final Map<String, ?> env) throws IOException

public FileSystem getFileSystem(final URI uri)

public FileChannel newFileChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException

public SeekableByteChannel newByteChannel(final Path path, final Set<? extends OpenOption> options, final FileAttribute<?>... attrs) throws IOException

public DirectoryStream<Path> newDirectoryStream(final Path dir, final Filter<? super Path> filter) throws IOException

public void createDirectory(final Path dir, final FileAttribute<?>... attrs) throws IOException

public void delete(final Path path) throws IOException

public void copy(Path source, Path target, CopyOption... options) throws IOException

public void move(final Path source, final Path target, final CopyOption... options) throws IOException

public boolean isSameFile(final Path path1, final Path path2) throws IOException

public boolean isHidden(final Path path) throws IOException

public FileStore getFileStore(final Path path) throws IOException

public void checkAccess(final Path path, final AccessMode... modes) throws IOException

public V getFileAttributeView(final Path path, final Class<V> type, final LinkOption... options)

public A readAttributes(final Path path, final Class<A> type, final LinkOption... options) throws IOException

public Map<String, Object> readAttributes(final Path path, final String attributes, final LinkOption... options) throws IOException

public void setAttribute(final Path path, final String attribute, final Object value, final LinkOption... options) throws IOException

private Archive<?> getArchive(final Path path)

private void copy(final InputStream in, final SeekableByteChannel out) throws IOException

/**
 * Logger
 */
private static final Logger log = Logger.getLogger(ShrinkWrapFileSystemProvider.class.getName());

/**
 * Scheme
 */
private static final String SCHEME = "shrinkwrap";

/**
 * Environment key for creating a new {@link FileSystem} denoting the archive
 */
private static final String ENV_KEY_ARCHIVE = "archive";

/**
 * Open file systems, keyed by the {@link Archive#getId()}
 */
private final ConcurrentMap<String, ShrinkWrapFileSystem> createdFileSystems = new ConcurrentHashMap<>();

/**
 * Lock for creation of a new filesystem and other tasks which should block until this op has completed
 */
private final ReentrantLock createNewFsLock = new ReentrantLock();


public Path subpath(final int beginIndex, final int endIndex)

public boolean startsWith(final Path other)

public boolean startsWith(final String other)

public boolean endsWith(final Path other)

public boolean endsWith(final String other)

public Path resolveSibling(final Path other)

public Path resolveSibling(final String other)

public Path relativize(final Path other)

public Path toRealPath(final LinkOption... options) throws IOException

public WatchKey register(WatchService watcher, Kind<?>[] events, Modifier... modifiers) throws IOException

public WatchKey register(WatchService watcher, Kind<?>... events) throws IOException

private int countOccurrences(final String string, char c, int offset)

private Path fromString(final String path)

private static List<String> tokenize(final ShrinkWrapPath path)

private static String normalize(final List<String> path, boolean absolute)

private static ShrinkWrapPath relativizeCommonRoot(final ShrinkWrapPath thisOriginal, final Path thisCurrent, final Path otherOriginal, Path otherCurrent, final int backupCount)

private static final Logger log = Logger.getLogger(ShrinkWrapPath.class.getName());

private static final String DIR_BACK = "..";

private static final String DIR_THIS = ".";

/**
 * Internal representation
 */
private final String path;

/**
 * Owning {@link ShrinkWrapFileSystem}
 */
private final ShrinkWrapFileSystem fileSystem;


public FileSystem newFileSystem(final URI uri, final Map<String, ?> env) throws IOException

public FileSystem getFileSystem(final URI uri)

public FileChannel newFileChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException

public SeekableByteChannel newByteChannel(final Path path, final Set<? extends OpenOption> options, final FileAttribute<?>... attrs) throws IOException

public DirectoryStream<Path> newDirectoryStream(final Path dir, final Filter<? super Path> filter) throws IOException

public void createDirectory(final Path dir, final FileAttribute<?>... attrs) throws IOException

public void delete(final Path path) throws IOException

public void copy(Path source, Path target, CopyOption... options) throws IOException

public void move(final Path source, final Path target, final CopyOption... options) throws IOException

public boolean isSameFile(final Path path1, final Path path2) throws IOException

public boolean isHidden(final Path path) throws IOException

public FileStore getFileStore(final Path path) throws IOException

public void checkAccess(final Path path, final AccessMode... modes) throws IOException

public V getFileAttributeView(final Path path, final Class<V> type, final LinkOption... options)

public A readAttributes(final Path path, final Class<A> type, final LinkOption... options) throws IOException

public Map<String, Object> readAttributes(final Path path, final String attributes, final LinkOption... options) throws IOException

public void setAttribute(final Path path, final String attribute, final Object value, final LinkOption... options) throws IOException


public void close() throws IOException
public Iterator<Path> iterator()

private final DirectoryStream.Filter<? super Path> filter;

private boolean iteratorReturned = false;


public BasicFileAttributes readAttributes() throws IOException

public void setTimes(FileTime lastModifiedTime, FileTime lastAccessTime, FileTime createTime) throws IOException

private final ShrinkWrapFileAttributes attributes;


public long getTotalSpace() throws IOException

public long getUsableSpace() throws IOException

public long getUnallocatedSpace() throws IOException

public boolean supportsFileAttributeView(final Class<? extends FileAttributeView> type)

public boolean supportsFileAttributeView(final String name)

public V getFileStoreAttributeView(final Class<V> type)

public Object getAttribute(final String attribute) throws IOException

/**
 * {@link FileStore} type
 */
private static final String TYPE = "shrinkwrap";

/**
 * Underlying archive
 */
private final Archive<?> archive;


public int read(final ByteBuffer destination) throws IOException

public int write(final ByteBuffer source) throws IOException

public long position() throws IOException

public SeekableByteChannel position(final long newPosition) throws IOException

public SeekableByteChannel truncate(final long size) throws IOException

private byte[] concat(final byte[] input1, final byte[] input2, final int position)

private void checkClosed() throws ClosedChannelException

/**
 * Current position; guarded by "this"
 */
private int position;

/**
 * Whether or not this {@link SeekableByteChannel} is open; volatile instead of sync is acceptable because this
 * field participates in no compound computations or invariants with other instance members.
 */
private volatile boolean open;

/**
 * Internal buffer for contents; guarded by "this"
 */
private byte[] contents;


public Optional<Response<S>> buildResponse(@NonNull String responseString, @NonNull Class<S> responseClass, @NonNull URI uri)

public Optional<ListResponse<S>> buildListResponse(@NonNull String responseString, @NonNull Class<S> responseClass, @NonNull URI uri)

private ClientHyperSchema buildSchema(JsonNode rawValue)

private JsonNode getRawValue(String responseString)

private Optional<Response<S>> buildSingleResponse(JsonNode rawValue, Class<S> responseClass, URI uri)

@NonNull
private ObjectMapper objectMapper;

@NonNull
@Getter
private MediaType mediaType;


public OngoingResponse<S> prepareNextWithResponse(@NonNull Class<S> clazz)

public boolean isRelPresent(@NonNull String rel)

@NonNull
private final ResponseBuilder responseBuilder;


public static final Logger logger = LoggerFactory.getLogger(UrlAccessRestrictionCheckingProcessor.class);

public void setPathMatcher(PathMatcher pathMatcher)

public void setUrlRestrictions(Map<String, String> restrictions)

public void processRequest(RequestContext context, RequestSecurityProcessorChain processorChain) throws Exception

protected Map<String, Expression> getUrlRestrictions()

protected String getRequestUrl(HttpServletRequest request)

protected boolean isAccessAllowed(HttpServletRequest request, Expression expression)

protected Object createExpressionRoot(HttpServletRequest request)

protected Map<String, Expression> urlRestrictions;


public static String createFingerprint(Class cl, Method m)

public static Context createContext(Configuration config)

public static void enrichContext(Context context)

public static Probe createProbe(String name, String version)

public static TestRun createTestRun(Configuration config, Context context, Probe probe, String projectId, String version, String pipeline, String stage, List<TestReport> testReports, Map<String, String> data)

public static TestResult createTestResult(String key, String fingerprint, String name, String category, long duration, String message, boolean passed, Boolean active, Set<String> contributors, Set<String> tags, Set<String> tickets, Map<String, String> data)

public static void enrichTestResult(Configuration config, TestResult result, String packageName, String className, String methodName, int lineNumber)

public static TestReport createTestReport(String uid)


public synchronized Object put(Object key, Object value)

public synchronized Object remove(Object key)

public Set<Entry<Object, Object>> entrySet()


public void plugin(PluginContext context, PluginChain chain) throws Exception

public void setHeaderValue(@NotNull String headerValue)

private final String headerName;
private String headerValue;
private boolean disabled;


public synchronized String getContent() throws IOException

public synchronized Object json(String path) throws IOException, PathNotFoundException

public Object xPath(String xPath, QName type) throws IOException, XPathExpressionException, PathNotFoundException

public String xPath(String xPath) throws IOException, XPathExpressionException, PathNotFoundException

public synchronized Elements html(String jQueryExpression) throws IOException

public void dump(boolean withHeaders, PrintStream to) throws IOException

private synchronized XPathExpression xPathInternal(String xPath) throws ParserConfigurationException, IOException, XPathExpressionException, PathNotFoundException

private static void checkNotBlank(String content) throws BlankContentException


/**
 * Configuration identifier for the reliable failure policy ({@code "reliable"}).
 */
public static final String IDENTIFIER = "reliable";

public boolean shouldReplay(final KafkaMessageId id)

public void fail(final KafkaMessageId id, final byte[] message)


/**
 * Configuration key prefix in storm config for kafka configuration parameters ({@code "kafka."}). The prefix is
 * stripped from all keys that use it and passed to kafka (see class documentation for additional required values).
 *
 * @see kafka documentation
 */
public static final String CONFIG_PREFIX = "kafka.";

/**
 * Storm configuration key pointing to a file containing kafka configuration ({@code "kafka.config"}).
 */
public static final String CONFIG_FILE = "kafka.config";

/**
 * Storm configuration key used to determine the kafka topic to read from ({@code "kafka.spout.topic"}).
 */
public static final String CONFIG_TOPIC = "kafka.spout.topic";

/**
 * Default kafka topic to read from ({@code "storm"}).
 */
public static final String DEFAULT_TOPIC = "storm";

/**
 * Storm configuration key used to determine the failure policy to use ({@code "kafka.spout.fail.handler"}).
 */
public static final String CONFIG_FAIL_HANDLER = "kafka.spout.fail.handler";

/**
 * Default failure policy instance (a {@link ReliableFailHandler} instance).
 */
public static final FailHandler DEFAULT_FAIL_HANDLER = new ReliableFailHandler();

/**
 * Storm configuration key used to determine the failure policy to use ({@code "kafka.spout.consumer.group"}).
 */
public static final String CONFIG_GROUP = "kafka.spout.consumer.group";

/**
 * Default kafka consumer group id ({@code "kafka_spout"}).
 */
public static final String DEFAULT_GROUP = "kafka_spout";

/**
 * Storm configuration key used to determine the maximum number of message to buffer
 * ({@code "kafka.spout.buffer.size.max"}).
 */
public static final String CONFIG_BUFFER_MAX_MESSAGES = "kafka.spout.buffer.size.max";

/**
 * Default maximum buffer size in number of messages ({@code 1024}).
 */
public static final int DEFAULT_BUFFER_MAX_MESSAGES = 1024;

public static Properties configFromResource(final String resource)

public static Properties createKafkaConfig(final Map<String, Object> config)

public static Properties configFromPrefix(final Map<String, Object> base, final String prefix)

public static String getStormZookeepers(final Map<String, Object> stormConfig)

public static FailHandler createFailHandlerFromString(final String failHandler)

public static int getMaxBufSize(final Map<String, Object> stormConfig)

public static String getTopic(final Map<String, Object> stormConfig)

public static void checkConfigSanity(final Properties config)

private static final Logger LOG = LoggerFactory.getLogger(ConfigUtils.class);


public static Collector<T, ?, Optional<T>> maxBy(Function<T, Y> projection)

public static Collector<T, ?, Optional<T>> maxBy(Function<T, Y> projection, Comparator<Y> comparator)

public static Collector<T, ?, Optional<T>> minBy(Function<T, Y> projection)

public static Collector<T, ?, Optional<T>> minBy(Function<T, Y> projection, Comparator<Y> comparator)

public static Collector<T, AtomicReference<T>, Optional<T>> unique()

public static Collector<T, AtomicReference<T>, T> uniqueNullable()

public static BinaryOperator<T> noCombiner()

private static void uniqueAccumulate(AtomicReference<T> a, T t)

private static AtomicReference<T> uniqueCombine(AtomicReference<T> a1, AtomicReference<T> a2)


public static T getAnnotationProxy(Annotation customAnnotation, Class<T> referenceAnnotation)


public static List<Mapcode> encode(final double latDeg, final double lonDeg) throws IllegalArgumentException

public static List<Mapcode> encode(@Nonnull final Point point) throws IllegalArgumentException

public static List<Mapcode> encode(final double latDeg, final double lonDeg, @Nullable final Territory restrictToTerritory) throws IllegalArgumentException

public static List<Mapcode> encode(@Nonnull final Point point, @Nullable final Territory restrictToTerritory) throws IllegalArgumentException

public static List<Mapcode> encodeRestrictToCountryISO2(final double latDeg, final double lonDeg, @Nonnull final String countryISO2) throws IllegalArgumentException

public static List<Mapcode> encodeRestrictToCountryISO2(@Nonnull final Point point, @Nonnull final String countryISO2) throws IllegalArgumentException

public static List<Mapcode> encodeRestrictToCountryISO3(final double latDeg, final double lonDeg, @Nonnull final String countryISO3) throws IllegalArgumentException

public static List<Mapcode> encodeRestrictToCountryISO3(@Nonnull final Point point, @Nonnull final String countryISO3) throws IllegalArgumentException

public static List<Mapcode> encodeRestrictToCountryISO(final double latDeg, final double lonDeg, @Nonnull final String countryISO) throws IllegalArgumentException

public static List<Mapcode> encodeRestrictToCountryISO(@Nonnull final Point point, @Nonnull final String countryISO) throws IllegalArgumentException

public static Mapcode encodeToShortest(final double latDeg, final double lonDeg, @Nonnull final Territory restrictToTerritory) throws IllegalArgumentException, UnknownMapcodeException

public static Mapcode encodeToShortest(@Nonnull final Point point, @Nonnull final Territory restrictToTerritory) throws IllegalArgumentException, UnknownMapcodeException

public static Mapcode encodeToInternational(final double latDeg, final double lonDeg) throws IllegalArgumentException

public static Mapcode encodeToInternational(@Nonnull final Point point) throws IllegalArgumentException

public static Point decode(@Nonnull final String mapcode) throws UnknownMapcodeException, IllegalArgumentException, UnknownPrecisionFormatException

public static Point decode(@Nonnull final String mapcode, @Nullable final Territory defaultTerritoryContext) throws UnknownMapcodeException, IllegalArgumentException, UnknownPrecisionFormatException

public static Rectangle decodeToRectangle(@Nonnull final String mapcode) throws UnknownMapcodeException, IllegalArgumentException, UnknownPrecisionFormatException

public static Rectangle decodeToRectangle(@Nonnull final String mapcode, @Nullable final Territory defaultTerritoryContext) throws UnknownMapcodeException, IllegalArgumentException, UnknownPrecisionFormatException

public static boolean isNearMultipleBorders(@Nonnull final Point point, @Nonnull final Territory territory)

private static MapcodeZone decodeToMapcodeZone(@Nonnull final String mapcode, @Nullable final Territory defaultTerritoryContext) throws UnknownMapcodeException, IllegalArgumentException

// Get direct access to the data model.
private static final DataModel DATA_MODEL = DataModel.getInstance();


/**
 * This patterns/regular expressions is used for checking mapcode format strings.
 * They've been made public to allow others to use the correct regular expressions as well.
 */
@Nonnull
public static final String REGEX_MAPCODE = '(' + REGEX_TERRITORY + "[ ]+)?" + REGEX_CODE_PREFIX + "[.]" + REGEX_CODE_POSTFIX + '(' + REGEX_CODE_PRECISION + ")?";

public String getCode(@Nullable final Alphabet alphabet)

public String getCode(final int precision, @Nullable final Alphabet alphabet)

public String getCode(final int precision) throws IllegalArgumentException

public String getCodeWithTerritoryFullname(final int precision, @Nullable final Alphabet alphabet) throws IllegalArgumentException

public String getCodeWithTerritoryFullname(final int precision) throws IllegalArgumentException

public String getCodeWithTerritoryFullname(@Nullable final Alphabet alphabet)

public String getCodeWithTerritory(final int precision, @Nullable final Alphabet alphabet) throws IllegalArgumentException

public String getCodeWithTerritory(final int precision) throws IllegalArgumentException

public String getCodeWithTerritory(@Nonnull final Alphabet alphabet)

public static int getPrecisionFormat(@Nonnull final String mapcode) throws UnknownPrecisionFormatException

public static boolean isValidMapcodeFormat(@Nullable final String mapcode) throws IllegalArgumentException

public static boolean containsTerritory(@Nonnull final String mapcode) throws IllegalArgumentException

public static double getSafeMaxOffsetInMeters(final int precision)

public boolean equals(@Nullable final Object obj)

@Nonnull
private final Territory territory;

@Nonnull
private final String // Internally, codes are always stored at precision 8.
codePrecision8;

/**
 * These patterns and matchers are used internally in this module to match mapcodes. They are
 * provided as statics to only compile these patterns once.
 */
@Nonnull
private static final String REGEX_TERRITORY = "[\\p{L}\\p{N}]{2,3}+([-_][\\p{L}\\p{N}]{2,3}+)?";

@Nonnull
private static final String REGEX_CODE_PREFIX = "[\\p{L}\\p{N}]{2,5}+";

@Nonnull
private static final String REGEX_CODE_POSTFIX = "[\\p{L}\\p{N}]{2,4}+";

@Nonnull
private static final String REGEX_CODE_PRECISION = "[-][\\p{L}\\p{N}&&[^zZ]]{1,8}+";

/**
 * This array defines the safe maximum offset between a decoded mapcode and its original
 * location used for encoding the mapcode.
 */
private static final double[] PRECISION_0_MAX_OFFSET_METERS = { // PRECISION_0: 7.49 meters or less       +/- 7.5 m
7.49, // PRECISION_1: 1.39 meters or less       +/- 1.4 m
1.39, // PRECISION_2: 25.1 cm or less           +/- 25 cm
0.251, // PRECISION_3: 4.62 cm or less           +/- 5 cm
0.0462, // PRECISION_4: 8.37 mm or less           +/- 1 cm
0.00837, // PRECISION_5: 1.54 mm or less           +/- 2 mm
0.00154, // PRECISION_6: 279 micrometer or less    +/- 1/3 mm
0.000279, // PRECISION_7: 51.4 micrometer or less   +/- 1/20 mm
0.0000514, // PRECISION_8: 9.3 micrometer or less    +/- 1/100 mm
0.0000093 };


public static void setDefaultBuilderDelegate(BuilderDelegate delegate)

public static ReflectionBuilder<T> implementationFor(Class<T> builderInterface)

public ReflectionBuilder<B> builds(Class<?> objectsOfType)

public ReflectionBuilder<B> withDelegate(BuilderDelegate<? super B> builderDelegate)

public ReflectionBuilder<B> usingAttributeAccessStrategy(PropertyAccessStrategy strategy)

public ReflectionBuilder<B> usingInstantiator(Instantiator instantiator)

private static BuilderDelegate defaultBuilderDelegate = new DefaultBuilderDelegate();

private BuilderDelegate<? super B> builderDelegate;


public boolean hasNext()
public String next()

/**
 * The CPE string that is being parsed.
 */
private String cpe;

/**
 * The position in the string that has been parsed.
 */
private int pos;


public static final String toString(int durationSeconds)

public static final String toString(int durationSeconds, boolean includeMonths)

public static final int parse(String durationString)

private static final int getUnitIndex(String unit)

private static final String[] TIME_UNITS = { "mo", "w", "d", "h", "m", "s" };

private static final int[] TIME_UNIT_MULTIPLIERS = { // 4 weeks = 1 month
60 * 60 * 8 * 5 * 4, // 5 days = 1 week
60 * 60 * 8 * 5, // 8 hours = 1 day
60 * 60 * 8, // 60 minutes = 1 hours
60 * 60, // 60 seconds = 1 minute
60, 1 };

private static Pattern durationPattern = Pattern.compile("(\\s*(\\d+)(mo|[wdhms]))");


public String createResponse(String challenge) throws IllegalArgumentException, KeyNotFoundException, ProtocolVersionException

public static String createRequest(String username)

private final Signer signer;
private final String serverName;


public String createChallenge(String request) throws IllegalArgumentException, ProtocolVersionException

public String createToken(String response) throws IllegalArgumentException, ProtocolVersionException

public String validateToken(String token) throws IllegalArgumentException, TokenExpiredException, ProtocolVersionException

private RSAPublicKey getKeyForUser(String userName) throws KeyNotFoundException

private Fingerprint createFakeFingerprint(String userName)

private static final UnsignedInteger CLOCK_FUDGE = UnsignedInteger.fromIntBits(2);

private static final UnsignedInteger RESPONSE_TIMEOUT = UnsignedInteger.fromIntBits(20);

// The maximum token lifetime in seconds.
private static final int MAX_VALIDITY = 600;

private static final String SIGNATURE_ALGORITHM = "SHA1withRSA";

private final UnsignedInteger tokenLifetimeSeconds;

private final List<KeyProvider> keyProviders;

private final TimeSupplier timeSupplier;

private static final Logger log = LoggerFactory.getLogger(CrtAuthServer.class);


public final TaskExecutor getTaskExecutor()

public void setWaitForEDT(boolean waitForEDT)

public void initializeSession(TaskSession session)

public void submitted(TaskSession session)

public void willExecute(TaskSession session) throws Exception

public void doInBackground(TaskSession session) throws Exception

public void canceled(TaskSession session)

public void handleException(TaskSession session, Exception e, Collection<Task> discardedTasks)

public final void registerTaskExecutor(TaskExecutor taskExecutor)

public final void registerTaskSubmitter(TaskSubmitter taskSubmitter)

public Map<Class<? extends TaskSubmitter>, String> getTaskSubmitters()

public String getTaskSubmitterId(Class<? extends TaskSubmitter> taskSubmitterClass)

public final void registerExecutionType(ExecutionType executionType)

public final void registerBackgroundTimeSpent(long backgroundTimeSpent)

public final void registerStatus(TaskStatus status)

public final void registerException(Exception exception)

public final void submitNestedTask(Task... tasks)

public final ExecutionType getExecutionType()

private void setParentId(String parentId)

private void setNestedLevel(int nestedLevel)

private Map<Class<? extends TaskSubmitter>, String> taskSubmitters;

protected void retry(Collection<Task> discardedTasks)

protected void retry(boolean isParallel, Collection<Task> discardedTasks)


public final TaskExecutor getTaskExecutor()

public void setWaitForEDT(boolean waitForEDT)

public void initializeSession(TaskSession session)

public void submitted(TaskSession session)

public void willExecute(TaskSession session) throws Exception

public void doInBackground(TaskSession session) throws Exception

public void canceled(TaskSession session)

public void handleException(TaskSession session, Exception e, Collection<Task> discardedTasks)

public final void registerTaskExecutor(TaskExecutor taskExecutor)

public final void registerTaskSubmitter(TaskSubmitter taskSubmitter)

public Map<Class<? extends TaskSubmitter>, String> getTaskSubmitters()

public String getTaskSubmitterId(Class<? extends TaskSubmitter> taskSubmitterClass)

public final void registerExecutionType(ExecutionType executionType)

public final void registerBackgroundTimeSpent(long backgroundTimeSpent)

public final void registerStatus(TaskStatus status)

public final void registerException(Exception exception)

public final void submitNestedTask(Task... tasks)

public final ExecutionType getExecutionType()


public void addListener(ControllerCollectionListener listener)

public void removeListener(ControllerCollectionListener listener)

public final void testControllerClass(Class<?> clss)

public void fireListeners(Controller controller, ControllerStatus newStatus)

public final void register(Controller controller)

public final void unregister(Controller controller)

public final Collection<E> getAll(Class<E> clss)

public final Collection<Controller> getAll()

public final boolean contains(Class<?> clss)

public final boolean contains(Controller controller)

protected Collection<Context> getContexts(String name)


public static final String MAIN_CONTEXT = "MAIN";

public E buildController(Class<E> controllerClass)

private final static Context mainContext = new Context();


public final void registerChild(Controller controller)

public final void unregisterChild(Controller controller)

public final void setControllerStatus(ControllerStatus status)

public final ControllerStatus getControllerStatus()

public void setControllerName(String name)

public void addControllerListener(ControllerListener listener)

public void removeControllerListener(ControllerListener listener)

public final E createChild(Class<E> controllerClass)

public Collection<E> getChildren(Class<E> clss)

public boolean containsChild(Class<?> clss)

public final void publish(boolean synchronous, Message message)

public TaskSession submitTask(Task... tasks)

public TaskSession submitTask(TaskSessionListener listener, Task... tasks)

public TaskSession submitTask(boolean isParallel, Task... tasks)

public TaskSession submitTask(boolean isParallel, TaskSessionListener listener, Task... tasks)

public void subscribe(Message message, Object publisher)

private void fireStatusChangedListeners(Controller controller)


public int compareTo(DetectedLanguage o)


public void setFreq(Map<String, Integer> freq)

private static final long serialVersionUID = 1L;

/**
 * n-grams that occur less than this often can be removed using omitLessFreq().
 * This number can change, see LESS_FREQ_RATIO.
 */
private static final int MINIMUM_FREQ = 2;

/**
 * Explanation by example:
 *
 * If the most frequent n-gram occurs 1 mio times, then
 * 1'000'000 / this (100'000) = 10.
 * 10 is larger than MINIMUM_FREQ (2), thus MINIMUM_FREQ remains at 2.
 * All n-grams that occur less than 2 times can be removed as noise using omitLessFreq().
 *
 * If the most frequent n-gram occurs 5000 times, then
 * 5'000 / this (100'000) = 0.05.
 * 0.05 is smaller than MINIMUM_FREQ (2), thus MINIMUM_FREQ becomes 0.
 * No n-grams are removed because of insignificance when calling omitLessFreq().
 */
private static final int LESS_FREQ_RATIO = 100000;

/**
 * The language name (identifier).
 */
private String name = null;

/**
 * Key = ngram, value = count.
 * All n-grams are in here (1-gram, 2-gram, 3-gram).
 */
private Map<String, Integer> freq = new HashMap<>();

/**
 * Tells how many occurrences of n-grams exist per gram length.
 * When making 1grams, 2grams and 3grams (currently) then this contains 3 entries where
 * element 0 = number occurrences of 1-grams
 * element 1 = number occurrences of 2-grams
 * element 2 = number occurrences of 3-grams
 * Example: if there are 57 1-grams (English language has about that many) and the training text is
 * fairly long, then this number is in the millions.
 */
private int[] nWords = new int[NGram.N_GRAM];


public static BufferedImage blur(BufferedImage sourceImage)

public static BufferedImage highlight(BufferedImage sourceImage, Coordinates coords, Color color, int lineWidth)

public static BufferedImage addText(BufferedImage sourceImage, int x, int y, String text, Color color, Font font)

public static BufferedImage getElement(BufferedImage sourceImage, Coordinates coords)

public static BufferedImage blurArea(BufferedImage sourceImage, Coordinates coords)

public static BufferedImage monochromeArea(BufferedImage sourceImage, Coordinates coords)

public static BufferedImage blurExceptArea(BufferedImage sourceImage, Coordinates coords)

public static BufferedImage cropAround(BufferedImage sourceImage, Coordinates coords, int offsetX, int offsetY)

public static BufferedImage cutOut(BufferedImage sourceImage, Coordinates coords, int offsetX, int offsetY)

public static BufferedImage addTitle(BufferedImage sourceImage, String title, Color color, Font textFont)

public static BufferedImage convertToGrayAndWhite(BufferedImage sourceImage)

public static boolean imagesAreEquals(BufferedImage image1, BufferedImage image2, double deviation)

public static boolean imagesAreEqualsWithDiff(BufferedImage image1, BufferedImage image2, String pathFileName, double deviation)

public static BufferedImage scale(BufferedImage source, double ratio)

public static BufferedImage cropAndScale(BufferedImage source, double ratio, double cropWidth, double cropHeight)

public static BufferedImage cropAndScale(BufferedImage source, double ratio, int maxWidth, int maxHeight)

public static boolean hasAlpha(Image image)

public static BufferedImage createImageFromBytes(byte[] imageData)

private static BufferedImage getBufferedImage(BufferedImage sourceImage, Coordinates coords, BufferedImage subImage, BufferedImage blurredImage)

private static BufferedImage createAndDrawImage(BufferedImage source, int w, int h)

private static BufferedImage getCompatibleImage(int w, int h, BufferedImage source)

private static final int ARCH_SIZE = 10;

private static final float[] matrix = new float[49];

private static double pixelError = Double.MAX_VALUE;


public String appExec(String name, Object... arguments)

public List<String> map(String engine, String query, String name, Object... arguments)

public void typeIntoKeyboard(String text)

private static final String ACCESSIBILITY_CHECK_REQUEST = "/accessibility_check";

private static final String DUMP_REQUEST = "/dump";

private static final String ORIENTATION_REQUEST = "/orientation";

private static final String APP_EXEC_REQUEST = "/app_exec";

private static final String MAP_REQUEST = "/map";

private static final String TYPE_INTO_KEYBOARD_REQUEST = "/type_into_keyboard";

private final SerializingEndpoint endpoint;


//GROUP_PATTERN is used for named wild card pattern in paths which is specified within braces.
//Example: {id}
public static final Pattern GROUP_PATTERN = Pattern.compile("\\{(.*?)\\}");

public static PatternPathRouterWithGroups<T> create(int maxPathParts)

public void add(final String source, final T destination)

public List<RoutableDestination<T>> getDestinations(String path)

// non-greedy wild card match.
private static final Pattern WILD_CARD_PATTERN = Pattern.compile("\\*\\*");

private final List<ImmutablePair<Pattern, RouteDestinationWithGroups>> patternRouteList;


public Map<String, String> getKeyValueMap()

private final Map<String, String> keyValueMap = new TreeMap<String, String>();


public abstract VerificationResponse verify(String otp) throws YubicoVerificationException, YubicoValidationFailure

public void setClientId(Integer clientId)

public void setMaxRetries(int maxRetries)

public void setWsapiUrls(String[] wsapi)

public void setUserAgent(String userAgent)

public static YubicoClient getClient(Integer clientId, String key)

public static String getPublicId(String otp)

public static boolean isValidOTPFormat(String otp)

private static final Logger log = LoggerFactory.getLogger(YubicoClient.class);

private static final Integer OTP_MIN_LEN = 32;

private static final Integer OTP_MAX_LEN = 48;

protected void warnIfDeprecatedUrl(String url)

protected String[] wsapi_urls = { "https://api.yubico.com/wsapi/2.0/verify" };

protected String userAgent = "yubico-java-client/" + Version.version + " (" + System.getProperty("java.vendor") + " " + System.getProperty("java.version") + ")";


public Pattern updatePattern(final Collection<String> prefixes)

public FieldPath normaliseFieldPath(final String fieldPath)

private static final String IDX_PREFIX = "DOCUMENT/";

private static final Pattern FIELD_NAME_PATTERN = Pattern.compile("(/?[^/]+)+");

private static final Pattern IDX_PATH_PATTERN = Pattern.compile("^/?(?:" + IDX_PREFIX + ")?(?<fieldPath>[^/]+)$");

private Pattern XML_PATH_PATTERN = updatePattern(Collections.singletonList("DOCUMENTS"));


public void basicValidate(final String section) throws ConfigException

private final Boolean synonymDatabaseMatch;

private final Boolean explicitProfiling;


private static final Logger logger = LoggerFactory.getLogger(JooqPersistService.class);

private final ThreadLocal<DSLContext> threadFactory = new ThreadLocal<DSLContext>();

private final ThreadLocal<DefaultConnectionProvider> threadConnection = new ThreadLocal<DefaultConnectionProvider>();

private final Provider<DataSource> jdbcSource;

@Inject(optional = true)
private Settings jooqSettings = null;

@Inject(optional = true)
private Configuration configuration = null;


/**
 * Constant for byte size
 */
public static final int BYTE_SIZE = Byte.SIZE;

/**
 * Constant for byte size (float)
 */
public static final float BYTE_SIZE_F = Byte.SIZE;

/**
 * Simple date format (yyyMMdd)
 */
public static final String DATE_FORMAT = "yyyyMMdd";

public void addCurrentBitIndex(final int pIndex)

public byte getMask(final int pIndex, final int pLength)

public byte[] getNextByte(final int pSize)

public byte[] getNextByte(final int pSize, final boolean pShift)

public Date getNextDate(final int pSize, final String pPattern)

public Date getNextDate(final int pSize, final String pPattern, final boolean pUseBcd)

public String getNextHexaString(final int pSize)

public long getNextLongSigned(final int pLength)

public int getNextIntegerSigned(final int pLength)

public long getNextLong(final int pLength)

public int getNextInteger(final int pLength)

public String getNextString(final int pSize)

public String getNextString(final int pSize, final Charset pCharset)

public void resetNextBits(final int pLength)

public void setCurrentBitIndex(final int pCurrentBitIndex)

public void setNextBoolean(final boolean pBoolean)

public void setNextByte(final byte[] pValue, final int pLength)

public void setNextByte(final byte[] pValue, final int pLength, final boolean pPadBefore)

public void setNextDate(final Date pValue, final String pPattern)

public void setNextDate(final Date pValue, final String pPattern, final boolean pUseBcd)

public void setNextHexaString(final String pValue, final int pLength)

public void setNextLong(final long pValue, final int pLength)

public void setNextInteger(final int pValue, final int pLength)

public void setNextString(final String pValue, final int pLength)

public void setNextString(final String pValue, final int pLength, final boolean pPaddedBefore)

/**
 * Bit utils class logger
 */
private static final Logger LOGGER = LoggerFactory.getLogger(BitUtils.class.getName());

/**
 * 255 init value
 */
private static final int DEFAULT_VALUE = 0xFF;

/**
 * Constant for the default charset
 */
private static final Charset DEFAULT_CHARSET = Charset.forName("ASCII");

/**
 * Table of read byte
 */
private final byte[] byteTab;

/**
 * Current index
 */
private int currentBitIndex;

/**
 * Size in bit of the byte tab
 */
private final int size;

protected void setNextValue(final long pValue, final int pLength, final int pMaxSize)


public void addCurrentBitIndex(final int pIndex)

public byte getMask(final int pIndex, final int pLength)

public byte[] getNextByte(final int pSize)

public byte[] getNextByte(final int pSize, final boolean pShift)

public Date getNextDate(final int pSize, final String pPattern)

public Date getNextDate(final int pSize, final String pPattern, final boolean pUseBcd)

public String getNextHexaString(final int pSize)

public long getNextLongSigned(final int pLength)

public int getNextIntegerSigned(final int pLength)

public long getNextLong(final int pLength)

public int getNextInteger(final int pLength)

public String getNextString(final int pSize)

public String getNextString(final int pSize, final Charset pCharset)

public void resetNextBits(final int pLength)

public void setCurrentBitIndex(final int pCurrentBitIndex)

public void setNextBoolean(final boolean pBoolean)

public void setNextByte(final byte[] pValue, final int pLength)

public void setNextByte(final byte[] pValue, final int pLength, final boolean pPadBefore)

public void setNextDate(final Date pValue, final String pPattern)

public void setNextDate(final Date pValue, final String pPattern, final boolean pUseBcd)

public void setNextHexaString(final String pValue, final int pLength)

public void setNextLong(final long pValue, final int pLength)

public void setNextInteger(final int pValue, final int pLength)

public void setNextString(final String pValue, final int pLength)

public void setNextString(final String pValue, final int pLength, final boolean pPaddedBefore)


public Float stringToR(String value) throws ConverterException


public BigDecimal stringToR(String value) throws ConverterException


public Byte stringToR(String value) throws ConverterException


public Short stringToR(String value) throws ConverterException


public Date stringToR(String value) throws ConverterException

public String toString(Date date) throws ConverterException


public Long stringToR(String value) throws ConverterException


public Double stringToR(String value) throws ConverterException


public Integer stringToR(String value) throws ConverterException


public LocalDate stringToR(String value) throws ConverterException

public String toString(LocalDate localDate)


public LocalDateTime stringToR(String value) throws ConverterException

public String toString(LocalDateTime localDateTime)


public BigInteger stringToR(String value) throws ConverterException


public static Reader<T> create(Class<T> modelType)

public static Reader<T> create(Class<T> modelType, File fromFile)

public static Reader<T> create(Class<T> modelType, InputStream fromStream)

public Reader<T> from(InputStream fromStream)

public Reader<T> sheet(String sheetName)

public Reader<T> charset(Charset charset)

public List<T> asList() throws ReaderException

public Result<T> asResult() throws ReaderException

/**
 * Java entity type to which the Excel row is mapped
 */
private Class<T> modelType;

/**
 * The index of the sheet to be read, default is 0
 */
private int sheetIndex;

/**
 * Sheet name to be read, sheet does not take effect if sheet is configured
 */
private String sheetName;

/**
 * Reading data from the first few lines should start with an index that really has data,
 * otherwise an error will occur. please confirm that the parameter is correct when reading.
 * <p>
 * Index starts at 0 instead of 1.
 */
private int startRow = 2;

/**
 * Read a excel row from a file
 */
private File fromFile;

/**
 * Read a excel row from a InputStream
 */
private InputStream fromStream;

private Charset charset = StandardCharsets.UTF_8;


public static Writer create(ExcelType excelType)

public Writer withRows(Collection<?> rows)

public Writer titleStyle(StyleConsumer<Workbook, CellStyle> titleStyle)

public Writer headerStyle(StyleConsumer<Workbook, CellStyle> headerStyle)

public Writer cellStyle(StyleConsumer<Workbook, CellStyle> cellStyle)

public Writer withTemplate(String templatePath)

public Writer withTemplate(File template)

public Writer bufferSize(int bufferSize)

public Writer createRow(Consumer<Sheet> sheetConsumer)

public Writer isAppend(boolean isAppend)

public void to(File file) throws WriterException

public void to(OutputStream outputStream) throws WriterException

public StyleConsumer<Workbook, CellStyle> titleStyle()

public StyleConsumer<Workbook, CellStyle> headerStyle()

public StyleConsumer<Workbook, CellStyle> cellStyle()

/**
 * The name of the Sheet to be written to Excel. The default is Sheet0.
 */
private String sheetName = Constant.DEFAULT_SHEET_NAME;

/**
 * Store the row to be written
 */
private Collection<?> rows;

/**
 * Write from the first few lines,
 * the default is automatic calculation, calculated by Excel title and column,
 * may be 1 or 2
 */
private int startRow;

/**
 * Buffer when writing a document in xlsx format
 */
private int bufferSize = 100;

/**
 * Type of excel written, select XLSX, XLS, CSV
 */
private ExcelType excelType;

/**
 * Write the title of Excel, optional
 */
private String headerTitle;

/**
 * Specify the path to the template by writing data according to the specified template
 */
private File template;

/**
 * Custom title style
 */
private StyleConsumer<Workbook, CellStyle> titleStyle;

/**
 * Custom column header style
 */
private StyleConsumer<Workbook, CellStyle> headerStyle;

/**
 * Custom row column style
 */
private StyleConsumer<Workbook, CellStyle> cellStyle;

/**
 * if true, then bytes will be written to the end of the file rather than the beginning
 */
private boolean isAppend = false;


public static final int PREFETCH_EXECUTOR_GRACEFUL_SHUTDOWN_TIME = 30;

public Queue getQueue() throws JMSException

public MessageListener getMessageListener() throws JMSException

public void setMessageListener(MessageListener listener) throws JMSException

public Message receive() throws JMSException

public Message receive(long timeout) throws JMSException

public Message receiveNoWait() throws JMSException

public String getMessageSelector() throws JMSException

private void checkClosed() throws IllegalStateException

private static final Log LOG = LogFactory.getLog(SQSMessageConsumer.class);

private final SQSQueueDestination sqsDestination;

private final SQSSession parentSQSSession;

private final SQSSessionCallbackScheduler sqsSessionRunnable;

/**
 * Executor for prefetch thread.
 */
private final ExecutorService prefetchExecutor;

/**
 * Prefetch Runnable. This include keeping internal message buffer filled and call MessageListener if set.
 */
private final SQSMessageConsumerPrefetch sqsMessageConsumerPrefetch;

protected void stopPrefetch()
protected void startPrefetch()

protected volatile boolean closed = false;


public void setEndpoint(String endpoint) throws JMSException

public void setRegion(Region region) throws JMSException

public void deleteMessage(DeleteMessageRequest deleteMessageRequest) throws JMSException

public DeleteMessageBatchResult deleteMessageBatch(DeleteMessageBatchRequest deleteMessageBatchRequest) throws JMSException

public SendMessageResult sendMessage(SendMessageRequest sendMessageRequest) throws JMSException

public boolean queueExists(String queueName) throws JMSException

public boolean queueExists(String queueName, String queueOwnerAccountId) throws JMSException

public GetQueueUrlResult getQueueUrl(String queueName) throws JMSException

public GetQueueUrlResult getQueueUrl(String queueName, String queueOwnerAccountId) throws JMSException

public GetQueueUrlResult getQueueUrl(GetQueueUrlRequest getQueueUrlRequest) throws JMSException

public CreateQueueResult createQueue(String queueName) throws JMSException

public CreateQueueResult createQueue(CreateQueueRequest createQueueRequest) throws JMSException

public ReceiveMessageResult receiveMessage(ReceiveMessageRequest receiveMessageRequest) throws JMSException

public void changeMessageVisibility(ChangeMessageVisibilityRequest changeMessageVisibilityRequest) throws JMSException

public ChangeMessageVisibilityBatchResult changeMessageVisibilityBatch(ChangeMessageVisibilityBatchRequest changeMessageVisibilityBatchRequest) throws JMSException

private String logAndGetAmazonServiceException(AmazonServiceException ase, String action)

private String logAndGetAmazonClientException(AmazonClientException ace, String action)

private JMSException handleException(AmazonClientException e, String operationName) throws JMSException

private boolean isJMSSecurityException(AmazonServiceException e)

private static final Log LOG = LogFactory.getLog(AmazonSQSMessagingClientWrapper.class);

private static final Set<String> SECURITY_EXCEPTION_ERROR_CODES;

private final AmazonSQS amazonSQSClient;

private final AWSCredentialsProvider credentialsProvider;


public Queue getQueue() throws JMSException

public void send(Queue queue, Message message) throws JMSException

public void send(Queue queue, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException

public Destination getDestination() throws JMSException

public void send(Message message) throws JMSException

public void send(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException

public void send(Destination destination, Message message) throws JMSException

public void send(Destination destination, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException

public void setDisableMessageID(boolean value) throws JMSException

public boolean getDisableMessageID() throws JMSException

public void setDisableMessageTimestamp(boolean value) throws JMSException

public boolean getDisableMessageTimestamp() throws JMSException

public void setDeliveryMode(int deliveryMode) throws JMSException

public int getDeliveryMode() throws JMSException

public void setPriority(int defaultPriority) throws JMSException

public int getPriority() throws JMSException

public void setTimeToLive(long timeToLive) throws JMSException

public long getTimeToLive() throws JMSException

public void setDeliveryDelay(long deliveryDelay)

private void addMessageTypeReservedAttribute(Map<String, MessageAttributeValue> messageAttributes, SQSMessage message, String value) throws JMSException

private void addReplyToQueueReservedAttributes(Map<String, MessageAttributeValue> messageAttributes, SQSMessage message) throws JMSException

private void addCorrelationIDToQueueReservedAttributes(Map<String, MessageAttributeValue> messageAttributes, SQSMessage message) throws JMSException

private void addStringAttribute(Map<String, MessageAttributeValue> messageAttributes, String key, String value)

private static final Log LOG = LogFactory.getLog(SQSMessageProducer.class);

private long MAXIMUM_DELIVERY_DELAY_MILLISECONDS = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);

/**
 * This field is not actually used.
 */
private long timeToLive;

/**
 * This field is not actually used.
 */
private int defaultPriority;

/**
 * This field is not actually used.
 */
private int deliveryMode;

/**
 * This field is not actually used.
 */
private boolean disableMessageTimestamp;

/**
 * This field is not actually used.
 */
private boolean disableMessageID;

private final AmazonSQSMessagingClientWrapper amazonSQSClient;

private final SQSQueueDestination sqsDestination;

private final SQSSession parentSQSSession;


public Queue getQueue() throws JMSException

public void send(Queue queue, Message message) throws JMSException

public void send(Queue queue, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException

public Destination getDestination() throws JMSException

public void send(Message message) throws JMSException

public void send(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException

public void send(Destination destination, Message message) throws JMSException

public void send(Destination destination, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException

public void setDisableMessageID(boolean value) throws JMSException

public boolean getDisableMessageID() throws JMSException

public void setDisableMessageTimestamp(boolean value) throws JMSException

public boolean getDisableMessageTimestamp() throws JMSException

public void setDeliveryMode(int deliveryMode) throws JMSException

public int getDeliveryMode() throws JMSException

public void setPriority(int defaultPriority) throws JMSException

public int getPriority() throws JMSException

public void setTimeToLive(long timeToLive) throws JMSException

public long getTimeToLive() throws JMSException

public void setDeliveryDelay(long deliveryDelay)


public long getBodyLength() throws JMSException

public boolean readBoolean() throws JMSException

public byte readByte() throws JMSException

public int readUnsignedByte() throws JMSException

public short readShort() throws JMSException

public int readUnsignedShort() throws JMSException

public char readChar() throws JMSException

public int readInt() throws JMSException

public long readLong() throws JMSException

public float readFloat() throws JMSException

public double readDouble() throws JMSException

public String readUTF() throws JMSException

public int readBytes(byte[] value) throws JMSException

public int readBytes(byte[] value, int length) throws JMSException

public void writeBoolean(boolean value) throws JMSException

public void writeByte(byte value) throws JMSException

public void writeShort(short value) throws JMSException

public void writeChar(char value) throws JMSException

public void writeInt(int value) throws JMSException

public void writeLong(long value) throws JMSException

public void writeFloat(float value) throws JMSException

public void writeDouble(double value) throws JMSException

public void writeUTF(String value) throws JMSException

public void writeBytes(byte[] value) throws JMSException

public void writeBytes(byte[] value, int offset, int length) throws JMSException

public void writeObject(Object value) throws JMSException

public void clearBody() throws JMSException

public byte[] getBodyAsBytes() throws JMSException

private static final Log LOG = LogFactory.getLog(SQSBytesMessage.class);

private ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();

private DataOutputStream dataOut = new DataOutputStream(bytesOut);


public QueueSession createQueueSession(boolean transacted, int acknowledgeMode) throws JMSException

public Session createSession(boolean transacted, int acknowledgeMode) throws JMSException

public ExceptionListener getExceptionListener() throws JMSException

public void setExceptionListener(ExceptionListener listener) throws JMSException

public void checkClosing() throws IllegalStateException

public void checkClosed() throws IllegalStateException

public String getClientID() throws JMSException

public void setClientID(String clientID) throws JMSException

public ConnectionMetaData getMetaData() throws JMSException

public ConnectionConsumer createConnectionConsumer(Destination destination, String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException

public ConnectionConsumer createDurableConnectionConsumer(Topic topic, String subscriptionName, String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException

public ConnectionConsumer createConnectionConsumer(Queue queue, String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException

private static final Log LOG = LogFactory.getLog(SQSConnection.class);

/**
 * For now this doesn't do anything.
 */
private ExceptionListener exceptionListener;

/**
 * For now this doesn't do anything.
 */
private String clientID;

/**
 * Used for interactions with connection state.
 */
private final Object stateLock = new Object();

/**
 * Configures the amount of messages that can be prefetched by a consumer. A
 * single consumer cannot prefetch more than 10 messages in a single call to SQS,
 * but it will make multiple calls as necessary.
 */
private final int numberOfMessagesToPrefetch;

private volatile boolean closed = false;

private volatile boolean closing = false;

/**
 * Used to determine if the connection is stopped or not.
 */
private volatile boolean running = false;

/**
 * Used to determine if any other action was taken on the
 * connection, that might prevent setting the clientId
 */
private volatile boolean actionOnConnectionTaken = false;

private final Set<Session> sessions = Collections.newSetFromMap(new ConcurrentHashMap<Session, Boolean>());


public static SqlInfo buildSqlInfo(BuildSource source, String tag)

private static SqlInfo doBuildSqlInfo(BuildSource source, TagHandler th)

private static final Log log = Log.get(ConditContext.class);


public static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ISO_DATE_TIME.withResolverStyle(ResolverStyle.LENIENT);

public static boolean checkTimeInRangeWithSkew(Date timeToCheck, Date startDate, Date endDate, int skewInMinutes)

public static Date parseDate(String date)


public static final String PARAM_PAGE = "page";

public static final String PARAM_PER_PAGE = "per_page";

public static final int MAX_ITEMS_PER_PAGE = 100;

public PaginationQuery withPage(int page)

public PaginationQuery withPerPage(int perPage)


public static String join(final Collection<String> chunks, final String delimiter)

public static boolean isJsonObject(final String s)

public static void validateKey(final String key, final boolean binary)

/**
 * A pattern to match on a signed integer value.
 */
private static final Pattern decimalPattern = Pattern.compile("^-?\\d+$");

/**
 * Maximum supported key length.
 */
private static final int MAX_KEY_LENGTH = MemcachedClientIF.MAX_KEY_LENGTH;

/**
 * Exception thrown if the input key is too long.
 */
private static final IllegalArgumentException KEY_TOO_LONG_EXCEPTION = new IllegalArgumentException("Key is too long (maxlen = " + MAX_KEY_LENGTH + ')');

/**
 * Exception thrown if the input key is empty.
 */
private static final IllegalArgumentException KEY_EMPTY_EXCEPTION = new IllegalArgumentException("Key must contain at least one character.");


public static final int DEFAULT_PORT = 9080;

public static Integer getHttpPort(File serverXML, File bootstrapProperties) throws FileNotFoundException, IOException, ParserConfigurationException, SAXException, XPathExpressionException, ArquillianConfigurationException

public static Integer getHttpPort(File serverXML, File bootstrapProperties, File configVariableXML) throws FileNotFoundException, IOException, ParserConfigurationException, SAXException, XPathExpressionException, ArquillianConfigurationException

private static String getHttpPortFromConfigVariableXML(String configVariableXML, String variableName) throws ParserConfigurationException, SAXException, XPathExpressionException, IOException

private static Integer getHttpPortFromBootstrapProperties(String variable, Properties bootstrapProperties) throws ArquillianConfigurationException

private static final XPath XPATH = XPathFactory.newInstance().newXPath();

private static final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

protected static Integer getHttpPortForServerXML(String serverXML, Properties bootstrapProperties, String configVariableXML) throws ParserConfigurationException, SAXException, IOException, XPathExpressionException, ArquillianConfigurationException


public void addAccessory(HomekitAccessory accessory)

public void removeAccessory(HomekitAccessory accessory)

public void refreshAuthInfo() throws IOException

public void allowUnauthenticatedRequests(boolean allow)

public void setConfigurationIndex(int revision) throws IOException

private static final Logger logger = LoggerFactory.getLogger(HomekitRoot.class);

private final JmdnsHomekitAdvertiser advertiser;

private final HomekitWebHandler webHandler;

private final SubscriptionManager subscriptions = new SubscriptionManager();


public static T createSorter(final SortType type)

public static T createSorterElseDefault(final SortType type, final T defaultSorter)


public static T createSearcher(final SearchType type)

public static T createSearcherElseDefault(final SearchType type, final T defaultSearcher)


public static long count(Map<K, V> map, Filter<Map.Entry<K, V>> filter)

public static Map<K, V> filter(Map<K, V> map, Filter<Map.Entry<K, V>> filter)

public static Map<K, V> filterAndTransform(Map<K, V> map, FilteringTransformer<Map.Entry<K, V>> filteringTransformer)

public static Map<K, V> findAll(Map<K, V> map, Filter<Map.Entry<K, V>> filter)

public static Map<String, String> fromAssociativeArray(String[] associativeArray)

public static boolean isEmpty(Map<?, ?> map)

public static boolean isNotEmpty(Map<?, ?> map)

public static boolean isSize(Map<?, ?> map, int size)

public static boolean isSizeOne(Map<?, ?> map)

public static Map.Entry<K, V> newMapEntry(K key, V value)

public static Map<K, V> nullSafeMap(Map<K, V> map)

public static String[] toAssociativeArray(Map<?, ?> map)

public static String toString(Map<?, ?> map)

public static Map<K, V> transform(Map<K, V> map, Transformer<V> transformer)


public static ConvertingPropertyEditorAdapter of(Converter<String, ?> converter)

public void setAsText(String text) throws IllegalArgumentException

private final Converter<String, ?> converter;

protected Converter<String, ?> getConverter()


public static PropertyEditingConverterAdapter of(PropertyEditor propertyEditor)

private final PropertyEditor propertyEditor;


public boolean canConvert(Class<?> fromType, Class<?> toType)


public QT convert(String value, Class<QT> enumType)


public void setConversionService(ConversionService conversionService)

protected boolean isAssignableTo(Class<?> fromType, Class<?>... toTypes)

protected boolean isParameterizedFunctionType(Type type)


public static CacheToMapAdapter<KEY, VALUE> of(Cache<KEY, VALUE> cache)

public Set<Entry<KEY, VALUE>> entrySet()

public void putAll(Map<? extends KEY, ? extends VALUE> map)

public VALUE putIfAbsent(KEY key, VALUE value)


public void clear()
public boolean contains(KEY key)
public void evict(KEY key)
public VALUE get(KEY key)
public String getName()
public Iterator<VALUE> iterator()
public Set<KEY> keys()
public void put(KEY key, VALUE value)
public int size()
public T named(String name)


public boolean add(Column column)
public boolean add(Row row)
public boolean removeColumn(int index)
public boolean removeRow(int index)


boolean isRunning()
abstract T execute(Object... args)
T call()
void run()


public static void argument(Boolean valid)

public static void argument(Boolean valid, String message, Object... arguments)

public static void argument(Boolean valid, Supplier<String> message)

public static void argument(Boolean valid, RuntimeException cause)

public static void comparable(T obj1, T obj2)

public static void comparable(T obj1, T obj2, String message, Object... arguments)

public static void comparable(T obj1, T obj2, Supplier<String> message)

public static void comparable(T obj1, T obj2, RuntimeException cause)

public static void equals(Object obj1, Object obj2)

public static void equals(Object obj1, Object obj2, String message, Object... arguments)

public static void equals(Object obj1, Object obj2, Supplier<String> message)

public static void equals(Object obj1, Object obj2, RuntimeException cause)

public static void hasText(String value)

public static void hasText(String value, String message, Object... arguments)

public static void hasText(String value, Supplier<String> message)

public static void hasText(String value, RuntimeException cause)

public static void holdsLock(Object lock)

public static void holdsLock(Object lock, String message, Object... arguments)

public static void holdsLock(Object lock, Supplier<String> message)

public static void holdsLock(Object lock, RuntimeException cause)

public static void isAssignableTo(Class<?> from, Class<?> to)

public static void isAssignableTo(Class<?> from, Class<?> to, String message, Object... arguments)

public static void isAssignableTo(Class<?> from, Class<?> to, Supplier<String> message)

public static void isAssignableTo(Class<?> from, Class<?> to, RuntimeException cause)

public static void isFalse(Boolean condition)

public static void isFalse(Boolean condition, String message, Object... arguments)

public static void isFalse(Boolean condition, Supplier<String> message)

public static void isFalse(Boolean condition, RuntimeException cause)

public static void isInstanceOf(Object obj, Class<?> type)

public static void isInstanceOf(Object obj, Class<?> type, String message, Object... arguments)

public static void isInstanceOf(Object obj, Class<?> type, Supplier<String> message)

public static void isInstanceOf(Object obj, Class<?> type, RuntimeException cause)

public static void isTrue(Boolean condition)

public static void isTrue(Boolean condition, String message, Object... arguments)

public static void isTrue(Boolean condition, Supplier<String> message)

public static void isTrue(Boolean condition, RuntimeException cause)

public static void notEmpty(String value)

public static void notEmpty(String value, String message, Object... arguments)

public static void notEmpty(String value, Supplier<String> message)

public static void notEmpty(String value, RuntimeException cause)

public static void notEmpty(Object[] array)

public static void notEmpty(Object[] array, String message, Object... arguments)

public static void notEmpty(Object[] array, Supplier<String> message)

public static void notEmpty(Object[] array, RuntimeException cause)

public static void notEmpty(Collection<?> collection)

public static void notEmpty(Collection<?> collection, String message, Object... arguments)

public static void notEmpty(Collection<?> collection, Supplier<String> message)

public static void notEmpty(Collection<?> collection, RuntimeException cause)

public static void notEmpty(Map<?, ?> map)

public static void notEmpty(Map<?, ?> map, String message, Object... arguments)

public static void notEmpty(Map<?, ?> map, Supplier<String> message)

public static void notEmpty(Map<?, ?> map, RuntimeException cause)

public static void notNull(Object obj, String message, Object... arguments)

public static void notNull(Object obj, Supplier<String> message)

public static void notNull(Object obj, RuntimeException cause)

public static void same(Object obj1, Object obj2)

public static void same(Object obj1, Object obj2, String message, Object... arguments)

public static void same(Object obj1, Object obj2, Supplier<String> message)

public static void same(Object obj1, Object obj2, RuntimeException cause)

public static void state(Boolean valid, String message, Object... arguments)

public static void state(Boolean valid, Supplier<String> message)

public static void state(Boolean valid, RuntimeException cause)

public static void supported(Boolean supported)

public static void supported(Boolean supported, String message, Object... arguments)

public static void supported(Boolean supported, Supplier<String> message)

public static void supported(Boolean supported, RuntimeException cause)

private static boolean isNotValid(Boolean valid)

private static boolean areNotComparable(T obj1, T obj2)

private static boolean areNotEqual(Object obj1, Object obj2)

private static boolean isBlank(String value)

private static boolean isNotLockHolder(Object lock)

private static boolean isNotAssignableTo(Class<?> from, Class<?> to)

private static boolean isNotFalse(Boolean condition)

private static boolean isNotInstanceOf(Object obj, Class<?> type)

private static boolean isNotTrue(Boolean condition)

private static boolean isEmpty(String value)

private static boolean isEmpty(Object[] array)

private static boolean isEmpty(Collection<?> collection)

private static boolean isEmpty(Map<?, ?> map)

private static boolean isNull(Object obj)

private static boolean isNotSame(Object obj1, Object obj2)

private static boolean isNotSupported(Boolean supported)

private static String format(String message, Object... arguments)

private static String messageFormat(String message, Object... arguments)

private static String stringFormat(String message, Object... arguments)


public static File assertExists(File path) throws FileNotFoundException

public static boolean createDirectory(File path)

public static boolean createFile(File path)

public static String getExtension(File file)

public static String getLocation(File file)

public static boolean isDirectory(File path)

public static boolean isEmpty(File path)

public static boolean isExisting(File path)

public static File newFile(String pathname)

public static String read(File file) throws IOException

public static List<String> readLines(File file) throws IOException

public static File tryGetCanonicalFileElseGetAbsoluteFile(File file)

public static String tryGetCanonicalPathElseGetAbsolutePath(File file)

public static File write(InputStream in, File file) throws IOException