本文整理了Java中org.jboss.weld.resolution.QualifierInstance
类的一些代码示例,展示了QualifierInstance
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QualifierInstance
类的具体详情如下:
包路径:org.jboss.weld.resolution.QualifierInstance
类名称:QualifierInstance
[英]Optimized representation of a qualifier. JDK annotation proxies are slooow, this class provides significantly faster equals/hashCode methods, that also correctly handle non binding attributes.
Note that Weld is using this representation for interceptor bindings as well. See also org.jboss.weld.manager.BeanManagerImpl#resolveInterceptors(javax.enterprise.inject.spi.InterceptionType,java.util.Collection)
[中]限定符的优化表示。JDK注释代理很慢,这个类提供了更快的equals/hashCode方法,这些方法也能正确处理非绑定属性。
请注意,Weld也将此表示法用于拦截器绑定。另见org。jboss。焊接经理BeanManagerImpl#resolveInterceptors(javax.enterprise.inject.spi.InterceptionType,java.util.Collection)
代码示例来源:origin: weld/core
/**
* @param annotation
* @param store
* @return a new qualifier instance for the given annotation
*/
public static QualifierInstance of(Annotation annotation, MetaAnnotationStore store) {
Class<? extends Annotation> annotationType = annotation.annotationType();
if (Any.class == annotationType) {
return ANY;
} else if (Default.class == annotationType) {
return DEFAULT;
} else if (Named.class == annotationType) {
Named named = (Named) annotation;
return new QualifierInstance(annotationType, ImmutableMap.of("value", named.value()));
} else {
return new QualifierInstance(annotationType, createValues(annotation, store));
}
}
代码示例来源:origin: org.jboss.weld.se/weld-se
public static boolean areInterceptorBindingsEquivalent(Annotation qualifier1, Annotation qualifier2, MetaAnnotationStore store) {
checkInterceptorBinding(qualifier1, store);
checkInterceptorBinding(qualifier2, store);
QualifierInstance q1 = QualifierInstance.of(qualifier1, store);
QualifierInstance q2 = QualifierInstance.of(qualifier2, store);
return q1.equals(q2);
}
代码示例来源:origin: org.jboss.weld.se/weld-se
public Set<QualifierInstance> extractInterceptorBindingsForQualifierInstance(Iterable<QualifierInstance> annotations) {
Set<QualifierInstance> foundInterceptionBindingTypes = new HashSet<QualifierInstance>();
for (QualifierInstance annotation : annotations) {
if (isInterceptorBinding(annotation.getAnnotationClass())) {
foundInterceptionBindingTypes.add(annotation);
}
}
return foundInterceptionBindingTypes;
}
代码示例来源:origin: org.jboss.weld.se/weld-se
public static int getQualifierHashCode(Annotation qualifier, MetaAnnotationStore store) {
checkQualifier(qualifier, store);
return QualifierInstance.of(qualifier, store).hashCode();
}
代码示例来源:origin: weld/core
public static boolean areQualifiersEquivalent(Annotation qualifier1, Annotation qualifier2, MetaAnnotationStore store) {
checkQualifier(qualifier1, store);
checkQualifier(qualifier2, store);
QualifierInstance q1 = QualifierInstance.of(qualifier1, store);
QualifierInstance q2 = QualifierInstance.of(qualifier2, store);
return q1.equals(q2);
}
代码示例来源:origin: weld/core
@Override
protected boolean matches(Resolvable resolvable, T bean) {
AssignabilityRules rules = null;
if (resolvable.isDelegate()) {
rules = DelegateInjectionPointAssignabilityRules.instance();
} else {
rules = BeanTypeAssignabilityRules.instance();
}
return rules.matches(resolvable.getTypes(), bean.getTypes())
&& Beans.containsAllQualifiers(resolvable.getQualifiers(), QualifierInstance.of(bean, store));
}
代码示例来源:origin: org.jboss.weld.se/weld-se
public static boolean containsAllInterceptionBindings(Set<Annotation> expectedBindings,
Set<QualifierInstance> existingBindings, BeanManagerImpl manager) {
final Set<QualifierInstance> expected = manager.extractInterceptorBindingsForQualifierInstance(QualifierInstance.of(expectedBindings, manager.getServices().get(MetaAnnotationStore.class)));
return manager.extractInterceptorBindingsForQualifierInstance(existingBindings).containsAll(expected);
}
代码示例来源:origin: weld/core
public static int getInterceptorBindingHashCode(Annotation qualifier, MetaAnnotationStore store) {
checkInterceptorBinding(qualifier, store);
return QualifierInstance.of(qualifier, store).hashCode();
}
代码示例来源:origin: org.jboss.weld.se/weld-se
private ResolvableBuilder addQualifier(Annotation qualifier, InjectionPoint injectionPoint) {
QualifierInstance qualifierInstance = QualifierInstance.of(qualifier, store);
final Class<? extends Annotation> annotationType = qualifierInstance.getAnnotationClass();
// Handle the @New qualifier special case
if (annotationType.equals(New.class)) {
New newQualifier = New.class.cast(qualifier);
if (newQualifier.value().equals(New.class) && rawType == null) {
throw new IllegalStateException("Cannot transform @New when there is no known raw type");
} else if (newQualifier.value().equals(New.class)) {
qualifier = new NewLiteral(rawType);
qualifierInstance = QualifierInstance.of(qualifier, store);
}
} else if (injectionPoint != null && annotationType.equals(Named.class)) {
Named named = (Named) qualifier;
if (named.value().equals("")) {
// WELD-1739
// This is an injection point with an @Named qualifier, with no value specified, we need to assume the name of the field in the value
named = new NamedLiteral(injectionPoint.getMember().getName());
qualifier = named;
qualifierInstance = QualifierInstance.of(named, store);
}
}
checkQualifier(qualifier, qualifierInstance, annotationType);
this.qualifierInstances.add(qualifierInstance);
this.annotationTypes.add(annotationType);
return this;
}
代码示例来源:origin: org.jboss.weld.se/weld-se
@Override
public QualifierInstance apply(Annotation key) {
return QualifierInstance.of(key, metaAnnotationStore);
}
代码示例来源:origin: org.jboss.weld.se/weld-se
return new QualifierInstance(qualifierAnnotationClass, Collections.unmodifiableMap(values));
代码示例来源:origin: weld/core
protected void checkQualifier(Annotation qualifier, final QualifierInstance qualifierInstance, Class<? extends Annotation> annotationType) {
if (!store.getBindingTypeModel(annotationType).isValid()) {
throw BeanManagerLogger.LOG.invalidQualifier(qualifierInstance);
}
if (!annotationType.isAnnotationPresent(Repeatable.class)) {
for (QualifierInstance checkedQualifier : qualifierInstances) {
if (annotationType.equals(checkedQualifier.getAnnotationClass())) {
throw BeanManagerLogger.LOG.duplicateQualifiers(qualifierInstances);
}
}
}
}
代码示例来源:origin: weld/core
@Override
protected boolean matches(Resolvable resolvable, T bean) {
AssignabilityRules rules = null;
if (resolvable.isDelegate()) {
rules = DelegateInjectionPointAssignabilityRules.instance();
} else {
rules = BeanTypeAssignabilityRules.instance();
}
return rules.matches(resolvable.getTypes(), bean.getTypes())
&& Beans.containsAllQualifiers(resolvable.getQualifiers(), QualifierInstance.of(bean, store));
}
代码示例来源:origin: weld/core
public static boolean containsAllInterceptionBindings(Set<Annotation> expectedBindings,
Set<QualifierInstance> existingBindings, BeanManagerImpl manager) {
final Set<QualifierInstance> expected = manager.extractInterceptorBindingsForQualifierInstance(QualifierInstance.of(expectedBindings, manager.getServices().get(MetaAnnotationStore.class)));
return expected.isEmpty() ? false : manager.extractInterceptorBindingsForQualifierInstance(existingBindings).containsAll(expected);
}
代码示例来源:origin: weld/core
public static boolean areQualifiersEquivalent(Annotation qualifier1, Annotation qualifier2, MetaAnnotationStore store) {
checkQualifier(qualifier1, store);
checkQualifier(qualifier2, store);
QualifierInstance q1 = QualifierInstance.of(qualifier1, store);
QualifierInstance q2 = QualifierInstance.of(qualifier2, store);
return q1.equals(q2);
}
代码示例来源:origin: weld/core
public static int getQualifierHashCode(Annotation qualifier, MetaAnnotationStore store) {
checkQualifier(qualifier, store);
return QualifierInstance.of(qualifier, store).hashCode();
}
代码示例来源:origin: weld/core
public static int getInterceptorBindingHashCode(Annotation qualifier, MetaAnnotationStore store) {
checkInterceptorBinding(qualifier, store);
return QualifierInstance.of(qualifier, store).hashCode();
}
代码示例来源:origin: weld/core
private ResolvableBuilder addQualifier(Annotation qualifier, InjectionPoint injectionPoint) {
QualifierInstance qualifierInstance = QualifierInstance.of(qualifier, store);
final Class<? extends Annotation> annotationType = qualifierInstance.getAnnotationClass();
} else if (newQualifier.value().equals(New.class)) {
qualifier = New.Literal.of(rawType);
qualifierInstance = QualifierInstance.of(qualifier, store);
qualifierInstance = QualifierInstance.of(named, store);
代码示例来源:origin: weld/core
@Override
public QualifierInstance apply(Annotation key) {
return QualifierInstance.of(key, metaAnnotationStore);
}
代码示例来源:origin: weld/core
return new QualifierInstance(qualifierAnnotationClass, Collections.unmodifiableMap(values));
内容来源于网络,如有侵权,请联系作者删除!