java.lang.Object
com.atlassian.servicedesk.api.util.expansion.Expansions

@PublicApi public class Expansions extends Object
Represents a collection of Expansion' properties on a model object should be filled in by the service when returning the model object. This allows the service to only provide as much information in the model as required by the requester.

Use the ExpansionsParser to produce expansions from dot delimited strings.

  • Field Details

  • Constructor Details

  • Method Details

    • merge

      public Expansions merge(Expansions expansions)
    • merge

      public Expansion[] merge(Expansion[] expansions)
    • canExpand

      public boolean canExpand(String propertyName)
    • getSubExpansions

      public Expansions getSubExpansions(String propertyName)
    • prepend

      public Expansions prepend(String propertyName)
      Create a new Expansions that prepends the propertyName to the path of all expansions represented in this Expansions object.

      The new set of expansions will answer true to canExpand(propertyName) and getSubExpansions(propertyName) will return the original set of expansions.

      Parameters:
      propertyName - - the propertyName to prepend to the set of expansions
      Returns:
      a new set of expansions with the propertyName at the root of the expansions.
    • toArray

      public Expansion[] toArray()
    • isEmpty

      public boolean isEmpty()
    • toString

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

      public void checkRecursiveExpansion(String propertyName)
      Checks to see if the passed in expansion string is expanded again somewhere in the expansions map. This check is used to prevent recursive expansions.
      Parameters:
      propertyName - the expansion property
      Throws:
      IllegalArgumentException - if the expansion is recursive
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object