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