public class ActivityMetaInfo {
static Pair<Integer, List<Class<? extends ClientResourceType>>> generate(final IOCBeanDef<?> beanDefinition){
AssociatedResources associatedResources = null;
Priority priority = null;
final Set<Annotation> annotations = beanDefinition.getQualifiers();
for ( Annotation a : annotations ) {
if ( a instanceof AssociatedResources ) {
associatedResources = (AssociatedResources) a;
continue;
}
if ( a instanceof Priority ) {
priority = (Priority) a;
continue;
}
}
if ( associatedResources == null ) {
return null;
}
final int priorityValue;
if ( priority == null ) {
priorityValue = 0;
} else {
priorityValue = priority.value();
}
final List<Class<? extends ClientResourceType>> types = new ArrayList<Class<? extends ClientResourceType>>();
for ( Class<? extends ClientResourceType> type : associatedResources.value() ) {
types.add( type );
}
return Pair.newPair( priorityValue, types );
}