PropertyPath.PathSegment

public static class PropertyPath.PathSegment extends Object

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".

Constant Summary

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

Public Method Summary

static PropertyPath.PathSegment
create(String propertyName)
Creation method that accepts and validates a property name

The property index is set to NON_REPEATED_CARDINALITY

static PropertyPath.PathSegment
create(String propertyName, int propertyIndex)
Creation method that accepts and validates both a property name and the index into the property.
boolean
int
getPropertyIndex()
Returns the index into the property, or NON_REPEATED_CARDINALITY if this does not represent a PathSegment with an index.
String
getPropertyName()
Returns the name of the property.
int
String
toString()
Returns a path representing a PathSegment, either "foo" or "foo[1]"

Inherited Method Summary

Constants

public static final int NON_REPEATED_CARDINALITY

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.

Constant Value: -1

Public Methods

public static PropertyPath.PathSegment create (String propertyName)

Creation method that accepts and validates a property name

The property index is set to NON_REPEATED_CARDINALITY

Parameters
propertyName the name of the property
Returns
  • A new PathSegment

public static PropertyPath.PathSegment create (String propertyName, int propertyIndex)

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 the name of the property
propertyIndex the index into the property
Returns
  • A new PathSegment
Throws
IllegalArgumentException if the property name or index is invalid.

public boolean equals (Object o)

public int getPropertyIndex ()

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

public String getPropertyName ()

Returns the name of the property.

public int hashCode ()

public String toString ()

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