PropertyPath
open class PropertyPath : MutableIterable<PropertyPath.PathSegment!>
kotlin.Any | |
↳ | android.app.appsearch.PropertyPath |
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 PathSegment
s. 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.
Summary
Nested classes | |
---|---|
open |
A segment of a PropertyPath, which includes the name of the property and a 0-based index into this property. |
Public constructors | |
---|---|
PropertyPath(pathList: MutableList<PropertyPath.PathSegment!>) Constructor directly accepting a path list |
|
PropertyPath(path: String) Constructor that parses a string representing the path to populate a List of PathSegments |
Public methods | |
---|---|
open Boolean |
Indicates whether some other object is "equal to" this one. |
open PropertyPath.PathSegment |
Returns the |
open Int |
hashCode() |
open MutableIterator<PropertyPath.PathSegment!> |
iterator() Returns an iterator over the PathSegments within the PropertyPath |
open Int |
size() Returns the number of |
open String |
toString() Returns a valid path string representing this PropertyPath |
Public constructors
PropertyPath
PropertyPath(pathList: MutableList<PropertyPath.PathSegment!>)
Constructor directly accepting a path list
Parameters | |
---|---|
pathList |
MutableList<PropertyPath.PathSegment!>: a list of PathSegments This value cannot be null . |
PropertyPath
PropertyPath(path: String)
Constructor that parses a string representing the path to populate a List of PathSegments
Parameters | |
---|---|
path |
String: the string to be validated and parsed into PathSegments This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
when the path is invalid or malformed |
Public methods
equals
open fun equals(other: Any?): Boolean
Indicates whether some other object is "equal to" this one.
The equals
method implements an equivalence relation on non-null object references:
- It is reflexive: for any non-null reference value
x
,x.equals(x)
should returntrue
. - It is symmetric: for any non-null reference values
x
andy
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any non-null reference values
x
,y
, andz
, ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
. - It is consistent: for any non-null reference values
x
andy
, multiple invocations ofx.equals(y)
consistently returntrue
or consistently returnfalse
, provided no information used inequals
comparisons on the objects is modified. - For any non-null reference value
x
,x.equals(null)
should returnfalse
.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
Parameters | |
---|---|
obj |
the reference object with which to compare. |
o |
This value may be null . |
Return | |
---|---|
Boolean |
true if this object is the same as the obj argument; false otherwise. |
get
open fun get(index: Int): PropertyPath.PathSegment
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]". PathSegment
s both with and without a property index of PathSegment#NON_REPEATED_CARDINALITY
are retrieved the same.
Parameters | |
---|---|
index |
Int: the position into the PropertyPath |
Return | |
---|---|
PropertyPath.PathSegment |
This value cannot be null . |
Exceptions | |
---|---|
java.lang.ArrayIndexOutOfBoundsException |
if index is not a valid index in the path list |
hashCode
open fun hashCode(): Int
Return | |
---|---|
Int |
a hash code value for this object. |
iterator
open fun iterator(): MutableIterator<PropertyPath.PathSegment!>
Returns an iterator over the PathSegments within the PropertyPath
Return | |
---|---|
MutableIterator<PropertyPath.PathSegment!> |
This value cannot be null . |
size
open fun size(): Int
Returns the number of PathSegment
s 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
.
toString
open fun toString(): String
Returns a valid path string representing this PropertyPath
Return | |
---|---|
String |
This value cannot be null . |