Module gg.xp.xivapi

Class QueryFieldsBuilder

java.lang.Object
gg.xp.xivapi.mappers.QueryFieldsBuilder
Direct Known Subclasses:
RootQueryFieldsBuilder

public sealed class QueryFieldsBuilder extends Object permits RootQueryFieldsBuilder
  • Field Details

  • Constructor Details

    • QueryFieldsBuilder

      protected QueryFieldsBuilder(String name)
    • QueryFieldsBuilder

      protected QueryFieldsBuilder(String name, boolean isTransient, boolean isArray, List<String> decorators, List<QueryFieldsBuilder> children)
  • Method Details

    • all

      public static QueryFieldsBuilder all()
      Returns:
      A QueryFieldsBuilder that represents a wildcard, i.e. when using XivApiThis.
    • normalField

      public static QueryFieldsBuilder normalField(String name)
      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

      public void addDecorator(String decorator)
      Add a decorator to this field
      Parameters:
      decorator - The decorator, without the '@'. e.g. @lang(en) would be "lang(en)".
    • addChild

      public void addChild(QueryFieldsBuilder child)
      Add a child field to this field
      Parameters:
      child - The child field
    • isAll

      public boolean isAll()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toQueryStrings

      public List<String> toQueryStrings(boolean isTopLevel)
      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).