/** * Sets the primary language subtag. * * <p>See RFC 5646 section 2.2.1. * * @param primaryLanguage The primary language, as the shortest two or * three-letter ISO 639 code. May be * {@code null}. * * @throws LangTagException If the primary language syntax is invalid. */ private void setPrimaryLanguage(final String primaryLanguage) throws LangTagException { if (primaryLanguage == null) { this.primaryLanguage = null; return; } ensureMaxLength(primaryLanguage); if (! isPrimaryLanguage(primaryLanguage)) throw new LangTagException("Invalid primary language subtag: Must be a two or three-letter ISO 639 code"); this.primaryLanguage = primaryLanguage.toLowerCase(); }
List<String> extLangSubtags = new LinkedList<String>(); if (isPrimaryLanguage(subtags[0])) primaryLang = subtags[pos++];