/* * Copyright (c) 2007 Mockito contributors * This program is made available under the terms of the MIT License. */ package org.mockito.internal.matchers; import java.io.Serializable; import java.util.regex.Pattern; import org.mockito.ArgumentMatcher; public class Matches implements ArgumentMatcher<Object>, Serializable { private final Pattern pattern; public Matches(String regex) { this(Pattern.compile(regex)); } public Matches(Pattern pattern) { this.pattern = pattern; } public boolean matches(Object actual) { return (actual instanceof String) && pattern.matcher((String) actual).matches(); } public String toString() { return "matches(\"" + pattern.pattern().replaceAll("\\\\", "\\\\\\\\") + "\")"; } }