Package org.eclipse.jst.pagedesigner.editors.palette

Source Code of org.eclipse.jst.pagedesigner.editors.palette.TagToolCreationAdapter

package org.eclipse.jst.pagedesigner.editors.palette;


import javax.xml.namespace.QName;

import org.eclipse.jst.pagedesigner.editors.palette.impl.PaletteItemManager;
import org.eclipse.jst.pagedesigner.editors.palette.impl.TaglibPaletteDrawer;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;

/**
* ITagDropSourceData implementation useable by TagToolPaletteEntry for its
* drop transfer object.
*
* @author cbateman
*
*/
public final class TagToolCreationAdapter implements ITagDropSourceData
{
    private String _uri;
    private String _tagName;
    private String _defaultPrefix;
    private String _id;

    /**
     * @param uri
     * @param tagName
     * @param defaultPrefix
     * @param id
     */
    public TagToolCreationAdapter(final String uri,  final String tagName, final String defaultPrefix,
            final String id)
    {
        _uri = uri;
        _tagName = tagName;
        _defaultPrefix = defaultPrefix;
        _id = id;       
    }

    public String getDefaultPrefix()
    {
        return _defaultPrefix;
    }

    public String getTagName()
    {
        return _tagName;
    }

    public String getNamespace()
    {
        return _uri;
    }

    public String getId()
    {
        return _id;
    }

    /**
     * @param provider
     * @param model
     * @return a metadata tag creation adapter for an existing tag
     * creation provider (which need not itself be a TagToolCreationAdapter)
     * and a dom model.
     */
    public static MetadataTagDropSourceData createMdTagCreationProvider(final ITagDropSourceData provider, final IDOMModel model)
    {
        return new MetadataTagDropSourceData(provider, model);
    }

    /**
     * @param container
     * @param paletteContext
     * @return the tag creation provider
     */
    public static ITagDropSourceData findProviderForContainer(
            final QName container, final IPaletteContext paletteContext)
    {
     
        return findProviderForContainer(container.getNamespaceURI(), container
                .getLocalPart(), paletteContext);
    }

    /**
     * @param uri
     * @param tagName
     * @param paletteContext
     * @return the tag creation provider
     */
    public static ITagDropSourceData findProviderForContainer(
            final String uri, final String tagName,
            final IPaletteContext paletteContext)
    {
      final PaletteItemManager itemManager = PaletteItemManager.getInstance(paletteContext);
        if (itemManager != null) {
        final TaglibPaletteDrawer category = itemManager.findCategoryByURI(uri);
          if (category != null)
          {
              final TagToolPaletteEntry tagItem = category
                      .getTagPaletteEntryByTagName(tagName);
              if (tagItem != null)
              {
                  return tagItem.getTemplate();
              }
          }
        }
        return null;
    }

}
TOP

Related Classes of org.eclipse.jst.pagedesigner.editors.palette.TagToolCreationAdapter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.