PropertyPath
public class PropertyPath implements Iterable
Represents a property path returned from searching the AppSearch Database.
One of the use cases for this class is when searching the AppSearch Database for the snippet matching use case. In this case you will get back SearchResult.MatchInfo objects that contain a property path signifying the location of a match within the database. This is a string that may look something like "foo.bar[0]". PropertyPath parses this string and breaks it up into a List of PathSegments. These may represent either a property or a property and a 0-based index into the property. For instance, "foo.bar[1]" would be parsed into a PathSegment with a property name of foo and a PathSegment with a property name of bar and an index of 1. This allows for easier manipulation of the property path.
This class won't perform any retrievals, it will only parse the path string. As such, it may not necessarily refer to a valid path in the database.
| See also | |
|---|---|
SearchResult.MatchInfo |
Summary
Nested types |
|---|
public class PropertyPath.PathSegmentA segment of a PropertyPath, which includes the name of the property and a 0-based index into this property. |
Public constructors |
|---|
PropertyPath(@NonNull List<PropertyPath.PathSegment> pathList)Constructor directly accepting a path list |
PropertyPath(@NonNull String path)Constructor that parses a string representing the path to populate a List of PathSegments |
Public methods |
|
|---|---|
boolean |
|
@NonNull PropertyPath.PathSegment |
get(int index)Returns the |
int |
hashCode() |
@NonNull Iterator<PropertyPath.PathSegment> |
iterator()Returns an iterator over the PathSegments within the PropertyPath |
int |
size()Returns the number of |
@NonNull String |
toString()Returns a valid path string representing this PropertyPath |
Inherited methods |
||||
|---|---|---|---|---|
|
Public constructors
PropertyPath
public PropertyPath(@NonNull List<PropertyPath.PathSegment> pathList)
Constructor directly accepting a path list
| Parameters | |
|---|---|
@NonNull List<PropertyPath.PathSegment> pathList |
a list of PathSegments |
PropertyPath
public PropertyPath(@NonNull String path)
Constructor that parses a string representing the path to populate a List of PathSegments
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
when the path is invalid or malformed |
Public methods
get
public @NonNull PropertyPath.PathSegment get(int index)
Returns the PathSegment at a specified index of the PropertyPath.
Calling get(1) on a PropertyPath representing "foo.bar[1]" will return a PathSegment representing "bar[1]". PathSegments both with and without a property index of NON_REPEATED_CARDINALITY are retrieved the same.
| Parameters | |
|---|---|
int index |
the position into the PropertyPath |
| Throws | |
|---|---|
java.lang.ArrayIndexOutOfBoundsException |
if index is not a valid index in the path list |
iterator
public @NonNull Iterator<PropertyPath.PathSegment> iterator()
Returns an iterator over the PathSegments within the PropertyPath
size
public int size()
Returns the number of PathSegments in the PropertyPath.
Paths representing "foo.bar" and "foo[1].bar[1]" will have the same size, as a property and an index into that property are stored in one PathSegment.