Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package br.com.caelum.vraptor.i18n.routes;
  
  import java.util.EnumSet;
  import java.util.List;
  import java.util.Locale;
 
 import  javax.enterprise.context.ApplicationScoped;
 import  javax.enterprise.inject.Alternative;
 
 
 @ApplicationScoped
 @Alternative
 public class I18nRoutesParser extends PathAnnotationRoutesParser {
 
 	private final List<Routeroutes;
 	private final RoutesResources routesResource;
 	private final Router router;

Deprecated:
CDI eyes only
 
 	protected I18nRoutesParser() {
 		this(nullnull);
 	}
 
 	public I18nRoutesParser(Router routerRoutesResources routesResource) {
 		super(router);
 		this. = router;
 		this. = routesResource;
 		 = new ArrayList<>();
 	}
 	
 	public List<RouterulesFor(BeanClass controller) {
 		.addAll(super.rulesFor(controller));
 		return ;
 	}
 	
 	protected String[] getURIsFor(Method javaMethodClass<?> type) {
 		String[] urIsFor = super.getURIsFor(javaMethodtype);
 		
 		for (int i = 0; i < urIsFor.lengthi++) {
 				if(bundle.containsKey(urIsFor[i])) {
 					Route translatedRouteWithLocalePrefix = buildWithLocalePrefix(javaMethodtypebundle.getString(urIsFor[i]), bundle.getLocale());
 					.add(translatedRouteWithLocalePrefix);
 				}
 			}
 			
 			Route defaultRouteWithLocalePrefix = buildWithLocalePrefix(javaMethodtypeurIsFor[i], Locale.getDefault());
 			.add(defaultRouteWithLocalePrefix);
 		}
 		
 		return urIsFor;
 	}
 	
 	private Route buildWithLocalePrefix(Method javaMethodClass<?> typeString uriLocale locale) {
 		String localePrefix = "/" + locale.getLanguage();
 		
 		if(!locale.getCountry().isEmpty()) {
 			 localePrefix += "-" + locale.getCountry().toLowerCase();
 		}
 		
 		RouteBuilder rule = .builderFor(localePrefix + uri);
 
 		EnumSet<HttpMethodmethods = getHttpMethods(javaMethod);
 		EnumSet<HttpMethodtypeMethods = getHttpMethods(type);
 
 		rule.with(methods.isEmpty() ? typeMethods : methods);
 
 		if(javaMethod.isAnnotationPresent(Path.class)){
 			rule.withPriority(javaMethod.getAnnotation(Path.class).priority());
 		}
 
 		if (getUris(javaMethod).length > 0) {
 		}
 
 		rule.is(typejavaMethod);
 		return rule.build();
 	}
 	
		EnumSet<HttpMethodmethods = EnumSet.noneOf(HttpMethod.class);
		for (HttpMethod method : HttpMethod.values()) {
			if (annotated.isAnnotationPresent(method.getAnnotation())) {
				methods.add(method);
			}
		}
		return methods;
	}
New to GrepCode? Check out our FAQ X