blob: f53f6711997b9fdc5b8579313f5a55fe46adf28d [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.query.internal.IQuerySpec;
import org.eclipse.jst.jsf.common.metadata.query.internal.Key;
/**
* Implements a tag entity query spec where the entity's id's are matched.
* <p>
* The PredicateMatcher will use this class to do an regex match of the id to the value
*
*/
public final class TaglibDomainEntityQuerySpec implements IQuerySpec {
private final String _uri;
private final String _tagName;
private final String _tagAttrName;
/**
* Construct a query spec for a tag library model
* @param uri - may not be null
*/
public TaglibDomainEntityQuerySpec(final String uri) {
_uri = uri;
_tagName = null;
_tagAttrName = null;
}
/**
* Construct a query spec for a tag
* @param uri - may not be null
* @param tagName - may not be null
*/
public TaglibDomainEntityQuerySpec (final String uri, final String tagName) {
_uri = uri;
_tagName = tagName;
_tagAttrName = null;
}
/**
* Construct a query spec for a tag attribute
* @param uri - may not be null
* @param tagName - may not be null
* @param tagAttributeName - may not be null
*/
public TaglibDomainEntityQuerySpec (final String uri, final String tagName, final String tagAttributeName) {
_uri = uri;
_tagName = tagName;
_tagAttrName = tagAttributeName;
}
public TagDomainEntityKey getKey() {
return new TagDomainEntityKey();
}
class TagDomainEntityKey extends Key {
/**
* @return model uri
*/
public String getUri() {
return _uri;
}
public String getTagName() {
return _tagName;
}
public String getTagAttributeName() {
return _tagAttrName;
}
public Object getAdapter(Class adapter) {
return null;
}
}
}