blob: 7893ac12d23c94550d56dcd2cdc3ac92accf50c1 [file] [log] [blame]
package org.eclipse.jst.jsf.facelet.core.internal.tagmodel;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.jst.jsf.common.runtime.internal.view.model.common.ITagElement;
/**
* @author cbateman
*
*/
public class FaceletTaglibWithTags extends FaceletTaglib
{
/**
*
*/
private static final long serialVersionUID = 5754003734420972494L;
private final Map<String, ITagElement> _tags;
protected FaceletTaglibWithTags(final String namespace, final Map<String, ITagElement> tags/*, List<FaceletFunction> functions*/)
{
super(namespace);
_tags = tags;
}
@Override
public Map<String, ITagElement> getTags()
{
return internalGetTags();
}
private void addFaceletTag(final String name, final FaceletTag tag)
{
_tags.put(name, tag);
}
private Map<String, ITagElement> internalGetTags()
{
return _tags;
}
static class WorkingCopy extends FaceletTaglibWithTags
{
/**
*
*/
private static final long serialVersionUID = -6792400224772536931L;
protected WorkingCopy(final String namespace) {
super(namespace, new HashMap<String, ITagElement>());
}
public void addFaceletTag(final FaceletTag tag)
{
super.addFaceletTag(tag.getName(), tag);
}
public FaceletTaglibWithTags closeWorkingCopy()
{
return this;
}
public FaceletTaglibWithTags shallowCopy()
{
return new FaceletTaglibWithTags(getNSUri(), super.internalGetTags());
}
}
@Override
public String toString()
{
String toString = super.toString();
for (final ITagElement tag : getTags().values())
{
toString += tag.toString();
}
return toString;
}
@Override
public String getLibraryTypeDescription()
{
return "Facelet Tag Library with Tag/Function Definitions";
}
@Override
public String getDisplayName()
{
return getNSUri();
}
@Override
public Collection<ITagElement> getViewElements() {
// TODO Auto-generated method stub
return null;
}
@Override
public ITagElement getViewElement(String name)
{
//TODO:
throw new UnsupportedOperationException();
}
@Override
public boolean hasViewElements()
{
//TODO:
throw new UnsupportedOperationException();
}
@Override
public boolean isInitialized()
{
//TODO:
throw new UnsupportedOperationException();
}
}