001/*
002 * Sonar, open source software quality management tool.
003 * Copyright (C) 2008-2012 SonarSource
004 * mailto:contact AT sonarsource DOT com
005 *
006 * Sonar is free software; you can redistribute it and/or
007 * modify it under the terms of the GNU Lesser General Public
008 * License as published by the Free Software Foundation; either
009 * version 3 of the License, or (at your option) any later version.
010 *
011 * Sonar is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
014 * Lesser General Public License for more details.
015 *
016 * You should have received a copy of the GNU Lesser General Public
017 * License along with Sonar; if not, write to the Free Software
018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
019 */
020package org.sonar.colorizer;
021
022import java.util.Collections;
023import java.util.HashSet;
024import java.util.Set;
025
026public final class JavaKeywords {
027
028  private static final Set<String> KEYWORDS = new HashSet<String>();
029
030  private static final String[] JAVA_KEYWORDS = new String[]{"abstract", "assert", "boolean", "break", "byte", "case", "catch", "char",
031      "class", "const", "continue", "default",
032      "do", "double", "else", "enum", "extends", "false", "final", "finally", "float", "for",
033      "goto", "if", "implements", "import", "instanceof",
034      "int", "interface", "long", "native", "new", "null", "package", "private",
035      "protected", "public", "return", "short", "static", "strictfp",
036      "super", "switch", "synchronized", "this", "throw", "throws", "transient", "true", "try", "void", "volatile", "while"};
037
038  static {
039    Collections.addAll(KEYWORDS, JAVA_KEYWORDS);
040  }
041
042  private JavaKeywords() {
043  }
044
045  public static Set<String> get() {
046    return Collections.unmodifiableSet(KEYWORDS);
047  }
048}