Class: JavaClass::JavaPackageName

Inherits:
String show all
Includes:
PackageLogic
Defined in:
lib/javaclass/java_name.rb

Overview

A full qualified package name. That is like a.b.c.

Author

Peter Kofler

Constant Summary collapse

VALID_REGEX =
/^   (?:   #{JavaLanguage::IDENTIFIER_REGEX}#{JavaLanguage::SEPARATOR_REGEX}   )*
#{JavaLanguage::LOWER_IDENTIFIER_REGEX}#{JavaLanguage::SEPARATOR_REGEX}?   $/x

Constants inherited from String

String::RUBY19, String::TYPES

Class Method Summary collapse

Instance Method Summary collapse

Methods included from PackageLogic

#in_jdk?, #package, #same_or_subpackage_of?, #subpackage_of?

Methods inherited from String

#byte_at, #double, #hexdump, #number_bytes, #same_bytes_as?, #single, #strip_non_printable, #u1, #u2, #u2rep, #u4, #u8

Constructor Details

#initialize(string) ⇒ JavaPackageName

Create a new package name string.



81
82
83
84
85
86
87
88
89
# File 'lib/javaclass/java_name.rb', line 81

def initialize(string)
  super string
  if string =~ VALID_REGEX
    @package = string
  else
    raise ArgumentError, "#{string} is no valid package name"
  end
  package_remove_trailing_dot!
end

Class Method Details

.valid?(string) ⇒ Boolean

Is string a valid package name?

Returns:

  • (Boolean)


76
77
78
# File 'lib/javaclass/java_name.rb', line 76

def self.valid?(string)
  string =~ VALID_REGEX
end

Instance Method Details

#to_javanameObject



91
92
93
# File 'lib/javaclass/java_name.rb', line 91

def to_javaname
  self
end