/* * Copyright (c) 2010 Lockheed Martin Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.eurekastreams.server.service.actions.strategies.activity.plugins; import java.util.regex.Pattern; /** * Wrapper to hold onto an object mapper and a regex for specific URL mapping ala Flickr, Youtube, etc. */ public class ObjectBuilderForSpecificUrl { /** The regex to match the URL against. */ private final Pattern regex; /** The object mapper to run when a match is found. */ private final FeedObjectActivityBuilder builder; /** * Constructor. * * @param inRegex * URL regex. * @param inBuilder * Activity object builder. */ public ObjectBuilderForSpecificUrl(final String inRegex, final FeedObjectActivityBuilder inBuilder) { regex = Pattern.compile(inRegex); builder = inBuilder; } /** * Determines if the URL applies to the builder. * * @param url * URL of feed. * @return If URL applies. */ public boolean match(final String url) { return regex.matcher(url).find(); } /** * Gets the activity object builder. * * @return Activity object builder. */ public FeedObjectActivityBuilder getBuilder() { return builder; } }