当前位置: 首页>>代码示例>>Java>>正文


Java NamespacePrefixResolver.getPrefixes方法代码示例

本文整理汇总了Java中org.alfresco.service.namespace.NamespacePrefixResolver.getPrefixes方法的典型用法代码示例。如果您正苦于以下问题:Java NamespacePrefixResolver.getPrefixes方法的具体用法?Java NamespacePrefixResolver.getPrefixes怎么用?Java NamespacePrefixResolver.getPrefixes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.alfresco.service.namespace.NamespacePrefixResolver的用法示例。


在下文中一共展示了NamespacePrefixResolver.getPrefixes方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getXPathName

import org.alfresco.service.namespace.NamespacePrefixResolver; //导入方法依赖的package包/类
public static String getXPathName(QName qName, NamespacePrefixResolver nspr)
{

    Collection<String> prefixes = nspr.getPrefixes(qName.getNamespaceURI());
    if (prefixes.size() == 0)
    {
        throw new NamespaceException("A namespace prefix is not registered for uri " + qName.getNamespaceURI());
    }
    String prefix = prefixes.iterator().next();
    if (prefix.equals(NamespaceService.DEFAULT_PREFIX))
    {
        return ISO9075.encode(qName.getLocalName());
    }
    else
    {
        return prefix + ":" + ISO9075.encode(qName.getLocalName());
    }

}
 
开发者ID:Alfresco,项目名称:alfresco-data-model,代码行数:20,代码来源:ISO9075.java

示例2: selectProperties

import org.alfresco.service.namespace.NamespacePrefixResolver; //导入方法依赖的package包/类
/**
 * @see NodeServiceXPath
 */
public List<Serializable> selectProperties(NodeRef contextNodeRef, String xpath,
        QueryParameterDefinition[] paramDefs, NamespacePrefixResolver namespacePrefixResolver,
        boolean followAllParentLinks, String language)
{
    try
    {
        DocumentNavigator documentNavigator = new DocumentNavigator(dictionaryService, nodeService, searchService,
                namespacePrefixResolver, followAllParentLinks);
        NodeServiceXPath nsXPath = new NodeServiceXPath(xpath, documentNavigator, paramDefs);
        for (String prefix : namespacePrefixResolver.getPrefixes())
        {
            nsXPath.addNamespace(prefix, namespacePrefixResolver.getNamespaceURI(prefix));
        }
        @SuppressWarnings("rawtypes")
        List list = nsXPath.selectNodes(nodeService.getPrimaryParent(contextNodeRef));
        List<Serializable> answer = new ArrayList<Serializable>(list.size());
        for (Object o : list)
        {
            if (!(o instanceof DocumentNavigator.Property))
            {
                throw new XPathException("Xpath expression must only select nodes");
            }
            answer.add(((DocumentNavigator.Property) o).value);
        }
        return answer;
    }
    catch (JaxenException e)
    {
        throw new XPathException("Error executing xpath", e);
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:35,代码来源:NodeSearcher.java

示例3: matchURI

import org.alfresco.service.namespace.NamespacePrefixResolver; //导入方法依赖的package包/类
public static String matchURI(String prefix, NamespacePrefixResolver namespacePrefixResolver)
{
    HashSet<String> prefixes = new HashSet<String>(namespacePrefixResolver.getPrefixes());
    if (prefixes.contains(prefix))
    {
        return namespacePrefixResolver.getNamespaceURI(prefix);
    }
    String match = null;
    for (String candidate : prefixes)
    {
        if (candidate.equalsIgnoreCase(prefix))
        {
            if (match == null)
            {
                match = candidate;
            }
            else
            {

                throw new QueryModelException("Ambiguous namespace prefix " + prefix);

            }
        }
    }
    if (match == null)
    {
        return null;
    }
    else
    {
        return namespacePrefixResolver.getNamespaceURI(match);
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:34,代码来源:DBQuery.java

示例4: matchURI

import org.alfresco.service.namespace.NamespacePrefixResolver; //导入方法依赖的package包/类
public static String matchURI(NamespacePrefixResolver namespacePrefixResolver, String prefix)
{
    HashSet<String> prefixes = new HashSet<String>(namespacePrefixResolver.getPrefixes());
    if (prefixes.contains(prefix))
    {
        return namespacePrefixResolver.getNamespaceURI(prefix);
    }
    String match = null;
    for (String candidate : prefixes)
    {
        if (candidate.equalsIgnoreCase(prefix))
        {
            if (match == null)
            {
                match = candidate;
            }
            else
            {

                throw new NamespaceException("Ambiguous namespace prefix " + prefix);

            }
        }
    }
    if (match == null)
    {
        return null;
    }
    else
    {
        return namespacePrefixResolver.getNamespaceURI(match);
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-data-model,代码行数:34,代码来源:QueryParserUtils.java

示例5: selectNodes

import org.alfresco.service.namespace.NamespacePrefixResolver; //导入方法依赖的package包/类
/**
 * @see NodeServiceXPath
 */
public List<NodeRef> selectNodes(NodeRef contextNodeRef, String xpathIn,
        QueryParameterDefinition[] paramDefs, NamespacePrefixResolver namespacePrefixResolver,
        boolean followAllParentLinks, String language)
{
    try
    {
        String xpath = xpathIn;

        List<AttributeOrder> order = null;

        DocumentNavigator documentNavigator = new DocumentNavigator(dictionaryService, nodeService, searchService,
                namespacePrefixResolver, followAllParentLinks);
        NodeServiceXPath nsXPath = new NodeServiceXPath(xpath, documentNavigator, paramDefs);
        for (String prefix : namespacePrefixResolver.getPrefixes())
        {
            nsXPath.addNamespace(prefix, namespacePrefixResolver.getNamespaceURI(prefix));
        }
        @SuppressWarnings("rawtypes")
        List list = nsXPath.selectNodes(nodeService.getPrimaryParent(contextNodeRef));
        HashSet<NodeRef> unique = new HashSet<NodeRef>(list.size());
        for (Object o : list)
        {
            if (o instanceof ChildAssociationRef)
            {
                unique.add(((ChildAssociationRef) o).getChildRef());
            }
            else if (o instanceof DocumentNavigator.Property)
            {
                unique.add(((DocumentNavigator.Property) o).parent);
            }
            else
            {
                throw new XPathException("Xpath expression must only select nodes");
            }
        }

        List<NodeRef> answer = new ArrayList<NodeRef>(unique.size());
        answer.addAll(unique);
        if (order != null)
        {
            orderNodes(answer, order);
            for(NodeRef node : answer)
            {
                StringBuffer buffer = new StringBuffer();
                for (AttributeOrder attOrd : order)
                {
                    buffer.append(" ").append(nodeService.getProperty(node, attOrd.attribute));
                }
            }
        }
        return answer;
    }
    catch (JaxenException e)
    {
        throw new XPathException("Error executing xpath: \n" + "   xpath: " + xpathIn, e);
    }
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:61,代码来源:NodeSearcher.java


注:本文中的org.alfresco.service.namespace.NamespacePrefixResolver.getPrefixes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。