java.lang.Object
gg.xp.xivapi.mappers.QueryFieldsBuilder
- Direct Known Subclasses:
RootQueryFieldsBuilder
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final StringPlaceholder value used for wildcard fields.protected final List<QueryFieldsBuilder> protected booleanprotected booleanprotected final Stringprotected static final StringPlaceholder value used for the root field. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedQueryFieldsBuilder(String name) protectedQueryFieldsBuilder(String name, boolean isTransient, boolean isArray, List<String> decorators, List<QueryFieldsBuilder> children) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddChild(QueryFieldsBuilder child) Add a child field to this fieldvoidaddDecorator(String decorator) Add a decorator to this fieldstatic QueryFieldsBuilderall()booleanisAll()voidMark this field as being an array.voidMark this field as being a transient.static QueryFieldsBuildernormalField(String name) toQueryStrings(boolean isTopLevel) Turn this set of fields into actual strings that can be plugged into the 'fields' or 'transient' parametertoString()
-
Field Details
-
name
-
isTransient
protected boolean isTransient -
isArray
protected boolean isArray -
decorators
-
children
-
ALL
Placeholder value used for wildcard fields. It only becomes a literal "*" for top-level wildcards, but that logic is handled inRootQueryFieldsBuilder.formatQueryFields()and this value never comes into play.- See Also:
-
ROOT
Placeholder value used for the root field. Not used anywhere.- See Also:
-
-
Constructor Details
-
QueryFieldsBuilder
-
QueryFieldsBuilder
protected QueryFieldsBuilder(String name, boolean isTransient, boolean isArray, List<String> decorators, List<QueryFieldsBuilder> children)
-
-
Method Details
-
all
- Returns:
- A QueryFieldsBuilder that represents a wildcard, i.e. when using
XivApiThis.
-
normalField
- Parameters:
name- The field name- Returns:
- A QueryFieldsBuilder that represents the named field.
-
markAsTransient
public void markAsTransient()Mark this field as being a transient. Note that this will fail later if this is not a top-level field. -
markAsArray
public void markAsArray()Mark this field as being an array. -
addDecorator
Add a decorator to this field- Parameters:
decorator- The decorator, without the '@'. e.g.@lang(en)would be"lang(en)".
-
addChild
Add a child field to this field- Parameters:
child- The child field
-
isAll
public boolean isAll() -
toString
-
toQueryStrings
Turn this set of fields into actual strings that can be plugged into the 'fields' or 'transient' parameter- Parameters:
isTopLevel- true if this is a "top level" field, i.e. it is not a child of any other object.- Returns:
- A list of strings representing this query (and children).
-