17 public static implicit
operator JavaPackageName(
string packageName) =>
new(packageName);
19 public static implicit
operator ReadOnlyMemory<char>(
JavaPackageName packageName) => packageName.value;
20 public static implicit
operator JavaPackageName(ReadOnlyMemory<char> packageName) =>
new(packageName);
25 readonly ReadOnlyMemory<char>
value;
32 this(qualifiedName.AsMemory())
34 if (qualifiedName is
null)
35 throw new ArgumentNullException(nameof(qualifiedName));
44 this.value = qualifiedName;
53 this(parent.
IsEmpty ? name : $
"{parent}.{name}".AsMemory())
64 this(parent, name.AsMemory())
67 throw new ArgumentNullException(nameof(name));
94 var index =
value.Span.LastIndexOf(
'.');
109 var i =
value.Span.LastIndexOf(
'.');
141 if (e.MoveNext() ==
false)
145 if (e.Current.Equals(o.Current, StringComparison.Ordinal) ==
false)
165 public override bool Equals(
object obj) =>
false;
Provides methods to parse a Java package name.
readonly ReadOnlyMemory< char > value
static JavaPackageName Empty
override int GetHashCode()
Gets the hash code of this package name.
JavaSimplePackageName GetSimpleName()
Gets the simple name.
JavaPackageName GetParent()
Gets the package name.
JavaPackageName(string qualifiedName)
Initializes a new instance.
override bool Equals(object obj)
Returns true if the two objects are equal.
bool IsEmpty
Returns true if this package name is empty.
bool IsChildOf(JavaPackageName other)
Returns true if the given package name is a child of the other package name.
bool Equals(JavaPackageName other)
Returns true if the two objects are equal.
JavaPackageName(JavaPackageName parent, string name)
Initializes a new instance.
override string ToString()
Returns a string instance of the package name.
JavaPackageName Parent
Gets the name of the parent package, or empty.
static bool operator!=(JavaPackageName a, JavaPackageName b)
JavaPackageName(ReadOnlyMemory< char > qualifiedName)
Initializes a new instance.
ReadOnlyMemory< char > Value
Gets the underlying value of this package name.
JavaPackageName(JavaPackageName parent, ReadOnlyMemory< char > name)
Initializes a new instance.
bool IsMemberOf(JavaPackageName packageName)
Returns true if this package name is a member of the given package name.
static bool operator==(JavaPackageName a, JavaPackageName b)
JavaSimplePackageName SimpleName
Gets the simple name.
Provides methods to parse a Java class simple name.
static JavaSimplePackageName Empty
Allows navigation over a Java class name.