blob: be28a52c0ba303f2aee12d9c1e642133ae96b991 [file] [log] [blame]
package com.example.appsearch;
import androidx.appsearch.app.AppSearchSchema;
import androidx.appsearch.app.DataClassFactory;
import androidx.appsearch.app.GenericDocument;
import androidx.appsearch.exceptions.AppSearchException;
import java.lang.Integer;
import java.lang.Override;
import java.lang.String;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
public class $$__AppSearch__Gift implements DataClassFactory<Gift> {
private static final String SCHEMA_TYPE = "Gift";
@Override
public String getSchemaType() {
return SCHEMA_TYPE;
}
@Override
public AppSearchSchema getSchema() throws AppSearchException {
return new AppSearchSchema.Builder(SCHEMA_TYPE)
.addProperty(new AppSearchSchema.PropertyConfig.Builder("listOfString")
.setDataType(AppSearchSchema.PropertyConfig.DATA_TYPE_STRING)
.setCardinality(AppSearchSchema.PropertyConfig.CARDINALITY_REPEATED)
.setTokenizerType(AppSearchSchema.PropertyConfig.TOKENIZER_TYPE_NONE)
.setIndexingType(AppSearchSchema.PropertyConfig.INDEXING_TYPE_NONE)
.build())
.addProperty(new AppSearchSchema.PropertyConfig.Builder("setOfInt")
.setDataType(AppSearchSchema.PropertyConfig.DATA_TYPE_INT64)
.setCardinality(AppSearchSchema.PropertyConfig.CARDINALITY_REPEATED)
.setTokenizerType(AppSearchSchema.PropertyConfig.TOKENIZER_TYPE_NONE)
.setIndexingType(AppSearchSchema.PropertyConfig.INDEXING_TYPE_NONE)
.build())
.addProperty(new AppSearchSchema.PropertyConfig.Builder("repeatedByteArray")
.setDataType(AppSearchSchema.PropertyConfig.DATA_TYPE_BYTES)
.setCardinality(AppSearchSchema.PropertyConfig.CARDINALITY_REPEATED)
.setTokenizerType(AppSearchSchema.PropertyConfig.TOKENIZER_TYPE_NONE)
.setIndexingType(AppSearchSchema.PropertyConfig.INDEXING_TYPE_NONE)
.build())
.addProperty(new AppSearchSchema.PropertyConfig.Builder("byteArray")
.setDataType(AppSearchSchema.PropertyConfig.DATA_TYPE_BYTES)
.setCardinality(AppSearchSchema.PropertyConfig.CARDINALITY_OPTIONAL)
.setTokenizerType(AppSearchSchema.PropertyConfig.TOKENIZER_TYPE_NONE)
.setIndexingType(AppSearchSchema.PropertyConfig.INDEXING_TYPE_NONE)
.build())
.build();
}
@Override
public GenericDocument toGenericDocument(Gift dataClass) throws AppSearchException {
GenericDocument.Builder<?> builder =
new GenericDocument.Builder<>(dataClass.uri, SCHEMA_TYPE);
List<String> listOfStringCopy = dataClass.listOfString;
if (listOfStringCopy != null) {
String[] listOfStringConv = listOfStringCopy.toArray(new String[0]);
builder.setPropertyString("listOfString", listOfStringConv);
}
Collection<Integer> setOfIntCopy = dataClass.setOfInt;
if (setOfIntCopy != null) {
long[] setOfIntConv = new long[setOfIntCopy.size()];
int i = 0;
for (Integer item : setOfIntCopy) {
setOfIntConv[i++] = item;
}
builder.setPropertyLong("setOfInt", setOfIntConv);
}
byte[][] repeatedByteArrayCopy = dataClass.repeatedByteArray;
if (repeatedByteArrayCopy != null) {
builder.setPropertyBytes("repeatedByteArray", repeatedByteArrayCopy);
}
byte[] byteArrayCopy = dataClass.byteArray;
if (byteArrayCopy != null) {
builder.setPropertyBytes("byteArray", byteArrayCopy);
}
return builder.build();
}
@Override
public Gift fromGenericDocument(GenericDocument genericDoc) throws AppSearchException {
String uriConv = genericDoc.getUri();
String[] listOfStringCopy = genericDoc.getPropertyStringArray("listOfString");
List<String> listOfStringConv = null;
if (listOfStringCopy != null) {
listOfStringConv = Arrays.asList(listOfStringCopy);
}
long[] setOfIntCopy = genericDoc.getPropertyLongArray("setOfInt");
List<Integer> setOfIntConv = null;
if (setOfIntCopy != null) {
setOfIntConv = new ArrayList<>(setOfIntCopy.length);
for (int i = 0; i < setOfIntCopy.length; i++) {
setOfIntConv.add((int) setOfIntCopy[i]);
}
}
byte[][] repeatedByteArrayConv = genericDoc.getPropertyBytesArray("repeatedByteArray");
byte[][] byteArrayCopy = genericDoc.getPropertyBytesArray("byteArray");
byte[] byteArrayConv = null;
if (byteArrayCopy != null && byteArrayCopy.length != 0) {
byteArrayConv = byteArrayCopy[0];
}
Gift dataClass = new Gift();
dataClass.uri = uriConv;
dataClass.listOfString = listOfStringConv;
dataClass.setOfInt = setOfIntConv;
dataClass.repeatedByteArray = repeatedByteArrayConv;
dataClass.byteArray = byteArrayConv;
return dataClass;
}
}