PropertyPath.PathSegment


class PropertyPath.PathSegment


A segment of a PropertyPath, which includes the name of the property and a 0-based index into this property.

If the property index is not set to NON_REPEATED_CARDINALITY, this represents a schema property with the "repeated" cardinality, or a path like "foo[1]". Otherwise, this represents a schema property that could have any cardinality, or a path like "foo".

Summary

Constants

const Int

A marker variable to signify that a PathSegment represents a schema property that isn't indexed into.

Public functions

java-static PropertyPath.PathSegment
create(propertyName: String)

Creation method that accepts and validates a property name

java-static PropertyPath.PathSegment
create(propertyName: String, propertyIndex: Int)

Creation method that accepts and validates both a property name and the index into the property.

Boolean
equals(o: Any?)
Int

Returns the index into the property, or NON_REPEATED_CARDINALITY if this does not represent a PathSegment with an index.

String

Returns the name of the property.

Int
String

Returns a path representing a PathSegment, either "foo" or "foo[1]"

Constants

NON_REPEATED_CARDINALITY

Added in 1.1.0-alpha07
const val NON_REPEATED_CARDINALITY = -1: Int

A marker variable to signify that a PathSegment represents a schema property that isn't indexed into. The value is chosen to be invalid if used as an array index.

Public functions

create

Added in 1.1.0-alpha07
java-static fun create(propertyName: String): PropertyPath.PathSegment

Creation method that accepts and validates a property name

The property index is set to NON_REPEATED_CARDINALITY

Parameters
propertyName: String

the name of the property

Returns
PropertyPath.PathSegment

A new PathSegment

create

Added in 1.1.0-alpha07
java-static fun create(propertyName: String, propertyIndex: Int): PropertyPath.PathSegment

Creation method that accepts and validates both a property name and the index into the property.

The property name may not be blank. It also may not contain square brackets or dots, as they are control characters in property paths. The index into the property may not be negative, unless it is NON_REPEATED_CARDINALITY, as these are invalid array indices.

Parameters
propertyName: String

the name of the property

propertyIndex: Int

the index into the property

Returns
PropertyPath.PathSegment

A new PathSegment

Throws
java.lang.IllegalArgumentException

if the property name or index is invalid.

equals

fun equals(o: Any?): Boolean

getPropertyIndex

Added in 1.1.0-alpha07
fun getPropertyIndex(): Int

Returns the index into the property, or NON_REPEATED_CARDINALITY if this does not represent a PathSegment with an index.

getPropertyName

Added in 1.1.0-alpha07
fun getPropertyName(): String

Returns the name of the property.

hashCode

fun hashCode(): Int

toString

fun toString(): String

Returns a path representing a PathSegment, either "foo" or "foo[1]"