/** * Converts a {@link Locale} to a Restlet {@link Language}. * * @param language * @return the Locale * @see #toLocale(String) * @see Locale */ public static Locale toLocale(Language language) { return toLocale(language.getName()); }
/** * Returns the modifiable list of subtags. This list can be empty. * * @return The list of subtags for this language Tag. */ public List<String> getSubTags() { // Lazy initialization with double-check. List<String> v = this.subTags; if (v == null) { synchronized (this) { v = this.subTags; if (v == null) { this.subTags = v = new CopyOnWriteArrayList<String>(); if (getName() != null) { final String[] tags = getName().split("-"); if (tags.length > 0) { for (int i = 1; i < tags.length; i++) { this.subTags.add(tags[i]); } } } } } } return v; }
/** * Returns the language associated to a name. If an existing constant exists * then it is returned, otherwise a new instance is created. * * @param name * The name. * @return The associated language. */ public static Language valueOf(final String name) { Language result = null; if ((name != null) && !name.equals("")) { if (name.equalsIgnoreCase(ALL.getName())) { result = ALL; } else if (name.equalsIgnoreCase(ENGLISH.getName())) { result = ENGLISH; } else if (name.equalsIgnoreCase(ENGLISH_US.getName())) { result = ENGLISH_US; } else if (name.equalsIgnoreCase(FRENCH.getName())) { result = FRENCH; } else if (name.equalsIgnoreCase(FRENCH_FRANCE.getName())) { result = FRENCH_FRANCE; } else if (name.equalsIgnoreCase(SPANISH.getName())) { result = SPANISH; } else { result = new Language(name); } } return result; }
/** * Returns the language associated to a name. If an existing constant exists * then it is returned, otherwise a new instance is created. * * @param name * The name. * @return The associated language. */ public static Language valueOf(final String name) { Language result = null; if ((name != null) && !name.equals("")) { if (name.equalsIgnoreCase(ALL.getName())) { result = ALL; } else if (name.equalsIgnoreCase(ENGLISH.getName())) { result = ENGLISH; } else if (name.equalsIgnoreCase(ENGLISH_US.getName())) { result = ENGLISH_US; } else if (name.equalsIgnoreCase(FRENCH.getName())) { result = FRENCH; } else if (name.equalsIgnoreCase(FRENCH_FRANCE.getName())) { result = FRENCH_FRANCE; } else if (name.equalsIgnoreCase(SPANISH.getName())) { result = SPANISH; } else { result = new Language(name); } } return result; }
/** * Returns the unmodifiable list of subtags. This list can be empty. * * @return The list of subtags for this language Tag. */ public List<String> getSubTags() { // Lazy initialization with double-check. List<String> v = this.subTags; if (v == null) { synchronized (this) { v = this.subTags; if (v == null) { List<String> tokens = new CopyOnWriteArrayList<String>(); if (getName() != null) { final String[] tags = getName().split("-"); if (tags.length > 0) { for (int i = 1; i < tags.length; i++) { tokens.add(tags[i]); } } } this.subTags = v = Collections.unmodifiableList(tokens); } } } return v; }
/** * Returns the unmodifiable list of subtags. This list can be empty. * * @return The list of subtags for this language Tag. */ public List<String> getSubTags() { // Lazy initialization with double-check. List<String> v = this.subTags; if (v == null) { synchronized (this) { v = this.subTags; if (v == null) { List<String> tokens = new CopyOnWriteArrayList<String>(); if (getName() != null) { final String[] tags = getName().split("-"); if (tags.length > 0) { for (int i = 1; i < tags.length; i++) { tokens.add(tags[i]); } } } this.subTags = v = Collections.unmodifiableList(tokens); } } } return v; }
/** * Returns the language associated to a name. If an existing constant exists * then it is returned, otherwise a new instance is created. * * @param name * The name. * @return The associated language. */ public static Language valueOf(final String name) { Language result = null; if ((name != null) && !name.equals("")) { if (name.equalsIgnoreCase(ALL.getName())) { result = ALL; } else if (name.equalsIgnoreCase(ENGLISH.getName())) { result = ENGLISH; } else if (name.equalsIgnoreCase(ENGLISH_US.getName())) { result = ENGLISH_US; } else if (name.equalsIgnoreCase(FRENCH.getName())) { result = FRENCH; } else if (name.equalsIgnoreCase(FRENCH_FRANCE.getName())) { result = FRENCH_FRANCE; } else if (name.equalsIgnoreCase(SPANISH.getName())) { result = SPANISH; } else { result = new Language(name); } } return result; }
private Object getLanguagesAsString(Representation entity) { if (entity != null && !entity.getLanguages().isEmpty()) { final StringBuilder value = new StringBuilder(); for (int i = 0; i < entity.getLanguages().size(); i++) { if (i > 0) { value.append(", "); } value.append(entity.getLanguages().get(i).getName()); } return value.toString(); } return null; }
protected Locale getLocale() { Request request = Request.getCurrent(); List<Preference<Language>> preferenceList = request.getClientInfo().getAcceptedLanguages(); if( preferenceList.isEmpty() ) { return Locale.getDefault(); } Language language = preferenceList .get( 0 ).getMetadata(); String[] localeStr = language.getName().split( "-" ); Locale locale; switch( localeStr.length ) { case 1: locale = new Locale( localeStr[ 0 ] ); break; case 2: locale = new Locale( localeStr[ 0 ], localeStr[ 1 ] ); break; case 3: locale = new Locale( localeStr[ 0 ], localeStr[ 1 ], localeStr[ 2 ] ); break; default: locale = Locale.getDefault(); } return locale; }
protected Locale getLocale() { Request request = Request.getCurrent(); List<Preference<Language>> preferenceList = request.getClientInfo().getAcceptedLanguages(); if( preferenceList.isEmpty() ) { return Locale.getDefault(); } Language language = preferenceList .get( 0 ).getMetadata(); String[] localeStr = language.getName().split( "-" ); Locale locale; switch( localeStr.length ) { case 1: locale = new Locale( localeStr[ 0 ] ); break; case 2: locale = new Locale( localeStr[ 0 ], localeStr[ 1 ] ); break; case 3: locale = new Locale( localeStr[ 0 ], localeStr[ 1 ], localeStr[ 2 ] ); break; default: locale = Locale.getDefault(); } return locale; }
protected Locale getLocale() { Request request = Request.getCurrent(); List<Preference<Language>> preferenceList = request.getClientInfo().getAcceptedLanguages(); if( preferenceList.isEmpty() ) { return Locale.getDefault(); } Language language = preferenceList .get( 0 ).getMetadata(); String[] localeStr = language.getName().split( "-" ); Locale locale; switch( localeStr.length ) { case 1: locale = new Locale( localeStr[ 0 ] ); break; case 2: locale = new Locale( localeStr[ 0 ], localeStr[ 1 ] ); break; case 3: locale = new Locale( localeStr[ 0 ], localeStr[ 1 ], localeStr[ 2 ] ); break; default: locale = Locale.getDefault(); } return locale; }