blob: c1868656ee5e4645bb04d3f0bd9f7996ce099c6d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010 Oracle Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Oracle Corporation - initial API and implementation and/or initial documentation
*******************************************************************************/
package org.eclipse.jst.jsf.common.metadata.query.internal.taglib;
import org.eclipse.jst.jsf.common.metadata.Trait;
import org.eclipse.jst.jsf.common.metadata.query.internal.IPredicateMatcher;
import org.eclipse.jst.jsf.common.metadata.query.internal.IPredicateMatcherFactory;
/**
* Interface for creating {@link IPredicateMatcher}s for the tag library domain.
* <p>
* @noextend
*/
public interface ITaglibDomainPredicateMatcherFactory extends IPredicateMatcherFactory {
/**
* Returns a matcher that will match a tag library specification
* @param uri - may not be null
* @return {@link ITaglibDomainEntityPredicateMatcher}
*/
public ITaglibDomainEntityPredicateMatcher createTagLibraryModelMatcher(final String uri);
/**
* Returns a matcher that will match a tag specification
* @param uri - may not be null
* @param tagName - may not be null
* @return {@link ITaglibDomainEntityPredicateMatcher}
*/
public ITaglibDomainEntityPredicateMatcher createTagEntityMatcher(final String uri, final String tagName);
/**
* Returns a matcher that will match a tag attribute specification
* @param uri - may not be null
* @param tagName - may not be null
* @param tagAttributeName - may not be null
* @return {@link ITaglibDomainEntityPredicateMatcher}
*/
public ITaglibDomainEntityPredicateMatcher createTagAttributeEntityMatcher(final String uri, final String tagName, final String tagAttributeName) ;
/**
* Returns a matcher that will match the trait id
* @param traitId - may not be null
* @return {@link IPredicateMatcher} for {@link Trait}
*/
public IPredicateMatcher<Trait> createTraitMatcher(final String traitId);
}