Class MultiLevelBinary
Object
MultiLevelBinary
- All Implemented Interfaces:
MultiLevelOutputEnabled
,SingleLevelOutputEnabled
- Direct Known Subclasses:
MultiLevelAnd
,MultiLevelOr
Base class for operations that combines two
MultiLevelOutputEnabled
s.- Author:
- Owen Feehan
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
MultiLevelBinary
(MultiLevelOutputEnabled enabled1, MultiLevelOutputEnabled enabled2) Creates a newMultiLevelBinary
instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract boolean
combine
(boolean first, boolean second) Determines whether an output is enabled via a combination of the twoMultiLevelOutputEnabled
.protected abstract SingleLevelOutputEnabled
combineSecond
(SingleLevelOutputEnabled first, SingleLevelOutputEnabled second) Builds a second-level output by combiningenabled1
andenabled2
.boolean
isOutputEnabled
(String outputName) Is a particular a particular output-enabled?A second-level ofOutputEnabled
for a particularoutputName
as used in first-level.
-
Constructor Details
-
MultiLevelBinary
Creates a newMultiLevelBinary
instance.- Parameters:
enabled1
- The first source of output-names that are enabled.enabled2
- The second source of output-names that are enabled.
-
-
Method Details
-
isOutputEnabled
Description copied from interface:SingleLevelOutputEnabled
Is a particular a particular output-enabled?- Specified by:
isOutputEnabled
in interfaceSingleLevelOutputEnabled
- Parameters:
outputName
- the name of the output- Returns:
- true iff the output is allowed
-
second
Description copied from interface:MultiLevelOutputEnabled
A second-level ofOutputEnabled
for a particularoutputName
as used in first-level.- Specified by:
second
in interfaceMultiLevelOutputEnabled
- Parameters:
outputName
- the name of the output.- Returns:
- an appropriate
OutputEnabled
for the second-level.
-
combine
protected abstract boolean combine(boolean first, boolean second) Determines whether an output is enabled via a combination of the twoMultiLevelOutputEnabled
.- Parameters:
first
- whetherenabled1
is enabled.second
- whetherenabled2
is enabled.- Returns:
- whether the combined output is enabled.
-
combineSecond
protected abstract SingleLevelOutputEnabled combineSecond(SingleLevelOutputEnabled first, SingleLevelOutputEnabled second) Builds a second-level output by combiningenabled1
andenabled2
.- Parameters:
first
- theMultiLevelOutputEnabled
corresponding toenabled1
.second
- theMultiLevelOutputEnabled
corresponding toenabled2
.- Returns:
- the combined output.
-