Class Choice
- java.lang.Object
-
- com.yahoo.component.provider.FreezableClass
-
- com.yahoo.search.pagetemplates.model.AbstractChoice
-
- com.yahoo.search.pagetemplates.model.Choice
-
- All Implemented Interfaces:
com.yahoo.component.provider.Freezable
,PageElement
public final class Choice extends AbstractChoice
A choice between some alternative lists of page elements.- Author:
- bratseth
-
-
Constructor Summary
Constructors Constructor Description Choice()
Creates an empty choiceChoice(List<List<PageElement>> alternatives)
Creates a choice between some alternatives.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(PageTemplateVisitor visitor)
Accepts a visitor to this structurevoid
add(List<PageElement> alternative)
Convenience shorthand forif (alternative!=null) alternatives().add(alternative)
List<List<PageElement>>
alternatives()
Returns the alternatives of this as a live reference to the alternatives of this.static Choice
createSingleton(PageElement singletonAlternative)
Creates a choice having a single alternative having a single page elementstatic Choice
createSingletons(List<PageElement> alternatives)
Creates a choice in which each alternative consists of a single elementvoid
freeze()
List<PageElement>
get(int index)
Convenience shorthand ofreturn alternatives().get(index)
boolean
isChoiceBetween(Class pageTemplateModelElementClass)
Answers true if this is either a choice between the given class, or between Lists of the given classboolean
isEmpty()
Returns true only if there are no alternatives in thisString
toString()
-
Methods inherited from class com.yahoo.search.pagetemplates.model.AbstractChoice
getMethod, setMethod
-
Methods inherited from class com.yahoo.component.provider.FreezableClass
clone, ensureNotFrozen, isFrozen
-
-
-
-
Constructor Detail
-
Choice
public Choice()
Creates an empty choice
-
Choice
public Choice(List<List<PageElement>> alternatives)
Creates a choice between some alternatives. This method takes a copy of the given lists.
-
-
Method Detail
-
createSingleton
public static Choice createSingleton(PageElement singletonAlternative)
Creates a choice having a single alternative having a single page element
-
createSingletons
public static Choice createSingletons(List<PageElement> alternatives)
Creates a choice in which each alternative consists of a single element
-
alternatives
public List<List<PageElement>> alternatives()
Returns the alternatives of this as a live reference to the alternatives of this. The list and elements may be modified unless this is frozen. This is never null.
-
get
public List<PageElement> get(int index)
Convenience shorthand ofreturn alternatives().get(index)
-
add
public void add(List<PageElement> alternative)
Convenience shorthand forif (alternative!=null) alternatives().add(alternative)
-
isEmpty
public boolean isEmpty()
Returns true only if there are no alternatives in this
-
isChoiceBetween
public boolean isChoiceBetween(Class pageTemplateModelElementClass)
Answers true if this is either a choice between the given class, or between Lists of the given class- Specified by:
isChoiceBetween
in classAbstractChoice
-
freeze
public void freeze()
- Specified by:
freeze
in interfacecom.yahoo.component.provider.Freezable
- Overrides:
freeze
in classcom.yahoo.component.provider.FreezableClass
-
accept
public void accept(PageTemplateVisitor visitor)
Accepts a visitor to this structure
-
-