Module: JavaClass::JavaLanguage
- Included in:
- Dsl::Mixin
- Defined in:
- lib/javaclass/java_language.rb
Overview
All kind of constant information related to Java and the Java language.
- Author
-
Peter Kofler
Constant Summary collapse
- SOURCE =
'.java'
- SOURCE_REGEX =
/#{Regexp.escape(SOURCE)}$/
- CLASS =
'.class'
- CLASS_REGEX =
/#{Regexp.escape(CLASS)}$/
- IDENTIFIER_REGEX =
A general Java identifier from Java spec.
/[a-zA-Z_$][a-zA-Z_$0-9]*/
- LOWER_IDENTIFIER_REGEX =
/[a-z_$][a-z_$0-9]*/
- PACKAGE_REGEX =
A proper package name part. This is more strict than IDENTIFIER_REGEX because it’s all lowercase letters.
/^#{LOWER_IDENTIFIER_REGEX}$/
- TYPE_REGEX =
A proper type (class) name. This is more strict than IDENTIFIER_REGEX because it starts with uppercase letters.
/[A-Z][a-zA-Z_$0-9]*/
- MEMBER_REGEX =
A proper member (field or method) name. This is more strict than IDENTIFIER_REGEX because it starts with lowercase letters.
/^[a-z][a-zA-Z_$0-9]*$/
- SEPARATOR =
Separator between qualified name parts.
'.'
- SEPARATOR_REGEX =
Regexp::escape(SEPARATOR)
- RESOURCE_FOLDER =
File.join(File.dirname(__FILE__), 'resources')
- RESERVED_WORDS =
Reserved words of the Java language.
IO.readlines(File.join(RESOURCE_FOLDER, 'reserved_words.txt')).map { |l| l.chomp }
- ISO_COUNTRIES =
List of ISO 3166 two letter country names. Used to recognize valid domain suffix/Java package names.
IO.readlines(File.join(RESOURCE_FOLDER, 'iso_3166_countries.txt')).map { |l| l.chomp }
- US_DOMAINS =
List of non ISO 3166 U.S. domain suffix.
%w| com net biz org |
- ALLOWED_PACKAGE_PREFIX =
List of all (usual) allowed Java package prefixes.
%w| java javax | + US_DOMAINS + ISO_COUNTRIES
- JDK_PACKAGES =
List of all package prefixes found in the JDK (up to 1.6).
IO.readlines(File.join(RESOURCE_FOLDER, 'jdk_packages.txt')).map { |l| l.chomp }
- JDK_PACKAGES_REGEX =
JDK_PACKAGES.collect { |pkg| /^#{pkg}\./ }