AppSearchSchema.Builder.AddParentType(String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Aggiunge un tipo padre al tipo di schema per il polimorfismo, in modo che il tipo di schema venga considerato come sottotipo di parentSchemaType.
[Android.Runtime.Register("addParentType", "(Ljava/lang/String;)Landroid/app/appsearch/AppSearchSchema$Builder;", "", ApiSince=35)]
public Android.App.AppSearch.AppSearchSchema.Builder AddParentType(string parentSchemaType);
[<Android.Runtime.Register("addParentType", "(Ljava/lang/String;)Landroid/app/appsearch/AppSearchSchema$Builder;", "", ApiSince=35)>]
member this.AddParentType : string -> Android.App.AppSearch.AppSearchSchema.Builder
Parametri
- parentSchemaType
- String
Valori restituiti
- Attributi
Commenti
Aggiunge un tipo padre al tipo di schema per il polimorfismo, in modo che il tipo di schema venga considerato come sottotipo di parentSchemaType. Le relazioni di sottotipo vengono considerate automaticamente transitive, quindi i chiamanti sono necessari solo per fornire genitori diretti. In particolare, se T1 <: T2 e T2 <: T3 sono noti, T1 <: T3 verrà dedotto automaticamente, dove <: è il simbolo del sottotipo. Il polimorfismo è attualmente supportato nei modi seguenti: i filtri di ricerca per un tipo padre verranno estesi automaticamente anche ai tipi figlio. Ad esempio, se Artist <: Person, una ricerca con un filtro sul tipo Person (chiamando SearchSpec.Builder.addFilterSchemas) includerà anche i documenti di tipo Artist nel risultato della ricerca. Nell'API di proiezione i percorsi delle proprietà da proiettare specificati per un tipo padre verranno estesi automaticamente anche ai tipi figlio. Se nell'API di proiezione vengono specificati sia un tipo padre che uno dei relativi tipi figlio, i percorsi del tipo padre verranno uniti nel tipo figlio. Per altri dettagli sulla proiezione, vedere SearchSpec.Builder.addProjection. Una proprietà del documento definita come tipo U può essere impostata con un documento di tipo T, purché T <: U, ma si noti che l'indice sarà basato solo sul tipo definito, ovvero U. Si consideri, ad esempio, un documento di tipo "Company" con un campo "employees" ripetuto di tipo "Person". È possibile aggiungere dipendenti di tipo "Person" o "Artist" o entrambi a questa proprietà, purché "Artist" sia un sottotipo "Person". Tuttavia, l'indice della proprietà "employees" sarà basato su ciò che è definito in "Person", anche per un documento aggiunto di tipo "Artist". I sottotipi devono soddisfare i requisiti seguenti. Una violazione dei requisiti causerà l'eccezione AppSearchSession.setSchema per generare un'eccezione AppSearchException con il codice di risultato di AppSearchResult.RESULT_INVALID_ARGUMENT. Si consideri un tipo Artist e un tipo Person e Artist dichiara di essere un sottotipo di Person, quindi: ogni proprietà in Person deve avere una proprietà corrispondente in Artist con lo stesso nome. Ogni proprietà non documento in Person deve avere lo stesso tipo del tipo della proprietà corrispondente in Artist. Ad esempio, se "age" è una proprietà integer in Person, "age" deve essere anche una proprietà integer in Artist, anziché una stringa. Il tipo di schema di ogni proprietà del documento in Artist deve essere un sottotipo del tipo di schema della proprietà del documento corrispondente in Person, se tale proprietà esiste in Person. Ad esempio, se "awards" è una proprietà del documento di tipo Award in Person, il tipo della proprietà "awards" in Artist deve essere un sottotipo di Award, ad esempio ArtAward. Si noti che ogni tipo è un sottotipo di se stesso. Ogni proprietà in Artist deve avere una cardinalità più rigida o uguale alla cardinalità della proprietà corrispondente in Person, se tale proprietà esiste in Person. Ad esempio, se "awards" è una proprietà in Person of cardinality OPTIONAL, la cardinalità della proprietà "awards" in Artist può essere OBBLIGATORIA o FACOLTATIVA. Regola: OBBLIGATORIO < RIPETUTO FACOLTATIVO < . Non esistono altre imposizione sulle proprietà corrispondenti in Artist, ad esempio il tipo di indice, il tipo di tokenizer e così via. Queste impostazioni possono essere sostituite in modo sicuro. Un tipo può essere definito per avere più elementi padre, ma deve essere compatibile con ognuno dei relativi elementi padre in base alle regole precedenti. Ad esempio, se LocalBusiness è definito come sottotipo di Place e Organization, la compatibilità di LocalBusiness con Place e la compatibilità di LocalBusiness con Organization verranno controllate entrambe.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.