001/* 002 * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 * 009 * Contributors: 010 * bstefanescu 011 */ 012package org.nuxeo.ecm.webengine.jaxrs.servlet.mapping; 013 014import java.util.regex.Pattern; 015 016/** 017 * @author <a href="mailto:bs@nuxeo.com">Bogdan Stefanescu</a> 018 */ 019public class RegexSegmentMatcher extends SegmentMatcher { 020 021 protected final Pattern pattern; 022 023 public RegexSegmentMatcher(String regex) { 024 this(Pattern.compile(regex)); 025 } 026 027 public RegexSegmentMatcher(Pattern pattern) { 028 this.pattern = pattern; 029 } 030 031 @Override 032 public boolean matches(String segment) { 033 return pattern.matcher(segment).matches(); 034 } 035 036 @Override 037 public String toString() { 038 return "(" + pattern.toString() + ")"; 039 } 040}