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(java.util.List<java.util.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(java.util.List<PageElement> alternative)
Convenience shorthand forif (alternative!=null) alternatives().add(alternative)
java.util.List<java.util.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(java.util.List<PageElement> alternatives)
Creates a choice in which each alternative consists of a single elementvoid
freeze()
java.util.List<PageElement>
get(int index)
Convenience shorthand ofreturn alternatives().get(index)
boolean
isChoiceBetween(java.lang.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 thisjava.lang.String
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(java.util.List<java.util.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(java.util.List<PageElement> alternatives)
Creates a choice in which each alternative consists of a single element
-
alternatives
public java.util.List<java.util.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 java.util.List<PageElement> get(int index)
Convenience shorthand ofreturn alternatives().get(index)
-
add
public void add(java.util.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(java.lang.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
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-