package io.ebeaninternal.server.grammer;
import io.ebean.FetchConfig;
Parse the path that potentially is a FetchConfig definition.
/**
* Parse the path that potentially is a FetchConfig definition.
*/
class ParseFetchConfig {
Parse the path that potentially is a FetchConfig definition.
Return the FetchConfig if it is and otherwise null.
/**
* Parse the path that potentially is a FetchConfig definition.
* <p>
* Return the FetchConfig if it is and otherwise null.
* </p>
*/
static FetchConfig parse(String path) {
if (path.startsWith("lazy")) {
if (path.length() == 4) {
return new FetchConfig().lazy();
} else if (path.charAt(4) == '(') {
path = path.substring(5);
int batchSize = parseBatchSize(path);
return new FetchConfig().lazy(batchSize);
} else {
return null;
}
}
if (path.startsWith("query")) {
if (path.length() == 5) {
return new FetchConfig().query();
} else if (path.charAt(5) == '(') {
path = path.substring(6);
int batchSize = parseBatchSize(path);
return new FetchConfig().query(batchSize);
} else {
return null;
}
}
return null;
}
private static int parseBatchSize(String path) {
path = path.substring(0, path.length() - 1);
return Integer.parseInt(path);
}
}