Module hw06

Class LogicalXOrHost

java.lang.Object
provided.utils.logic.impl.LogicalXOrHost
All Implemented Interfaces:
ILogicalHost

public class LogicalXOrHost extends Object implements ILogicalHost
An ILogicalHost that represents the logical XOR of two ILogicalHosts. That is, the trueCase of the given visitor will be run only if the trueCase of one the given hosts runs and the falseCase of the other host runs. Otherwise, the false case of the given visitor will run.
Author:
swong
  • Field Details

  • Constructor Details

    • LogicalXOrHost

      public LogicalXOrHost(ILogicalHost hostA, ILogicalHost hostB)
      Construct the logical XOR of the two hosts.
      Parameters:
      hostA - The first logical host
      hostB - The second logical host
  • Method Details

    • execute

      public <R,​ P> R execute(ILogicalVisitor<R,​P> vis, P param)
      Description copied from interface: ILogicalHost
      Call the appropriate case on the given visitor corresponding to the current state of the host.
      Specified by:
      execute in interface ILogicalHost
      Type Parameters:
      R - The return type of the visitor
      P - The input parameter type of the visitor
      Parameters:
      vis - The visitor to accept which has true and false cases.
      param - The input parameter to pass to the visitor's case that is called.
      Returns:
      The result from running the case of the visitor