1 /* 2 * Copyright (c) 2007 Mockito contributors 3 * This program is made available under the terms of the MIT License. 4 */ 5 6 package org.mockito.internal.matchers; 7 8 import java.io.Serializable; 9 10 import org.hamcrest.Description; 11 import org.mockito.ArgumentMatcher; 12 13 14 public class Matches extends ArgumentMatcher<Object> implements Serializable { 15 16 private static final long serialVersionUID = 8787704593379472029L; 17 private final String regex; 18 19 public Matches(String regex) { 20 this.regex = regex; 21 } 22 23 public boolean matches(Object actual) { 24 return (actual instanceof String) && ((String) actual).matches(regex); 25 } 26 27 public void describeTo(Description description) { 28 description.appendText("matches(\"" + regex.replaceAll("\\\\", "\\\\\\\\") 29 + "\")"); 30 } 31 } 32