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


Java Requirement.getResource方法代码示例

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


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

示例1: match

import org.osgi.resource.Requirement; //导入方法依赖的package包/类
static boolean match(Requirement requirement, Capability capability, LogService log) {
	// Namespace MUST match
	if (!requirement.getNamespace().equals(capability.getNamespace())) {
           return false;
       }

	// If capability effective!=resolve then it matches only requirements with same effective
	String capabilityEffective = capability.getDirectives().get(Namespace.CAPABILITY_EFFECTIVE_DIRECTIVE);
	if (capabilityEffective != null) {
		String requirementEffective = requirement.getDirectives().get(Namespace.REQUIREMENT_EFFECTIVE_DIRECTIVE);
		if (!capabilityEffective.equals(Namespace.EFFECTIVE_RESOLVE) && !capabilityEffective.equals(requirementEffective)) {
               return false;
           }
	}

	String filterStr = requirement.getDirectives().get(Namespace.REQUIREMENT_FILTER_DIRECTIVE);
       if (filterStr == null) {
           return true; // no filter, the requirement always matches
       }

	try {
		Filter filter = FrameworkUtil.createFilter(filterStr);
		return filter.matches(capability.getAttributes());
	} catch (InvalidSyntaxException e) {
		if (log != null) {
			Resource resource = requirement.getResource();
			String id = resource != null ? getIdentity(resource) : "<unknown>";
			log.log(LogService.LOG_ERROR, String.format("Invalid filter syntax in requirement from resource %s: %s", id, filterStr), e);
		}
		return false;
	}
}
 
开发者ID:opensecuritycontroller,项目名称:osc-core,代码行数:33,代码来源:PluginResolveContext.java

示例2: addRequirement

import org.osgi.resource.Requirement; //导入方法依赖的package包/类
void addRequirement(Requirement req) {
	if (req.getResource() != this) {
           req = RequirementImpl.copy(req, this);
       }

	List<Requirement> list = this.requirements.get(req.getNamespace());
	if (list == null) {
		list = new LinkedList<>();
		this.requirements.put(req.getNamespace(), list);
	}
	list.add(req);
}
 
开发者ID:opensecuritycontroller,项目名称:osc-core,代码行数:13,代码来源:ResourceImpl.java


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