Assume the existence of an interface, CommDevice, with the following methods: transmit: accepts two string parameters and returns nothing receive: accepts two string parameters and returns a boolean Define a class, Firewall, that implements the above interface, and has the following members: a string instance variable, permittedReceiver a string instance variable, buffer a constructor that accepts a string parameter that is used to initialize the permittedReceiver variable an implementation of the transmit method that assigns the first parameter to the destination instance variable and the second to the buffer variable. It also send to System.out the message “Data scheduled for transmission to dest” where dest is replaced by the actual value of the destination string. an implementation of the receiver method that checks if the first parameter is equal to the permittedReceiver and if so it sets the buffer instance variable to the second parameter and returns true; otherwise it sets the buffer to the empty string, prints the message “Attempted breach of firewall by ” where is replaced by the method’s first parameter, and returns false.

3
Assume the existence of an interface, CommDevice, with the following methods: transmit: accepts two string parameters and returns nothing receive: accepts two string parameters and returns a boolean Define a class, Firewall, that implements the above interface, and has the following members: a string instance variable, permittedReceiver a string instance variable, buffer a constructor that accepts a string parameter that is used to initialize the permittedReceiver variable an implementation of the transmit method that assigns the first parameter to the destination instance variable and the second to the buffer variable. It also send to System.out the message “Data scheduled for transmission to dest” where dest is replaced by the actual value of the destination string. an implementation of the receiver method that checks if the first parameter is equal to the permittedReceiver and if so it sets the buffer instance variable to the second parameter and returns true; otherwise it sets the buffer to the empty string, prints the message “Attempted breach of firewall by ” where is replaced by the method’s first parameter, and returns false.

LANGUAGE: JAVA

CHALLENGE:

Assume the existence of an interface, CommDevice, with the following methods:
transmit: accepts two string parameters and returns nothing
receive: accepts two string parameters and returns a boolean
Define a class, Firewall, that implements the above interface, and has the following members:
a string instance variable, permittedReceiver
a string instance variable, buffer
a constructor that accepts a string parameter that is used to initialize the permittedReceiver variable
an implementation of the transmit method that assigns the first parameter to the destination instance variable and the second to the buffer variable. It also send to System.out the message “Data scheduled for transmission to dest” where dest is replaced by the actual value of the destination string.
an implementation of the receiver method that checks if the first parameter is equal to the permittedReceiver and if so it sets the buffer instance variable to the second parameter and returns true; otherwise it sets the buffer to the empty string, prints the message “Attempted breach of firewall by ” where is replaced by the method’s first parameter, and returns false.

SOLUTION:


public class Firewall implements CommDevice{
   private String permittedReceiver;
   private String buffer;
   private String destination;
   public void setPermittedReceiver (String r){
      permittedReceiver = r;
   }

   public void setBuffer(String r){
      buffer = r;
   }

   public Firewall(String receiver){
      permittedReceiver = receiver;
   }

   public void transmit(String first, String second){
      destination = first;
      buffer = second;
      System.out.println("Data scheduled for transmission to " +  destination);
   }

   public boolean receive(String first, String second){
      if(first == permittedReceiver){
         buffer = second;
         return true;
      }else{
         buffer = "";
         System.out.print ("Attempted breach of firewall by " + first);
         return false;
      }
   }
}

3 comments

  • tomH says:

    public class Firewall implements CommDevice {
    private String permittedReceiver;
    private String buffer;

    public Firewall(String permittedReceiver) {
    this.permittedReceiver = permittedReceiver;
    }

    public void transmit(String destination, String text) {
    buffer = text;
    System.out.println(“Data scheduled for transmission to ” + destination);
    }

    public boolean receive(String receiver, String text) {
    if (receiver.equals(permittedReceiver)) {
    buffer = text; return true;
    }

    buffer = “”;
    System.out.println(“Attempted breach of firewall by ” + receiver);
    return false;
    }
    }

  • j p says:

    Use this:

    public class Firewall implements CommDevice {

    private String permittedReceiver;
    private String buffer;
    public Firewall(String s) {
    permittedReceiver = s;
    }
    public void transmit(String s1, String s2) {

    permittedReceiver = s1;
    buffer = s2;
    System.out.println(“Data scheduled for transmission to ” + permittedReceiver);

    }
    public boolean receive(String s1, String s2) {
    if (s1 == permittedReceiver) {
    buffer = s2;
    return true;
    } else {
    buffer = “”;
    System.out.println(“Attempted breach of firewall by ” + s1);
    return false;

    }

    }

    }

Add comment