本文整理汇总了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());
}
}
示例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);
}
}
示例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);
}
}
示例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);
}
}
示例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);
}
}