Question

In: Computer Science

Define a class named Document that contains an instance variable of type String named text that stores any textual content for the document.

Code in Java 

Define a class named Document that contains an instance variable of type String named text that stores any textual content for the document. Create a method named toString that returns the text field and also include a method to set this value.

Next, define a class for Email that is derived from Document and includes instance variables for the sender, recipient, and title of an email message. Implement appropriate set and get methods. The body of the email message should be stored in the inherited variable text. Redefine the toString method to concatenate all text fields.

Similarly, define a class for File that is derived from Document and includes an instance variable for the pathname. The textual contents of the file should be stored in the inherited variable text. Redefine the toString method to concatenate all text fields.

Finally, define a class DocumentTest that creates two objects of each type Email and File in the main method. Test your objects by passing them to the following function that returns true if the object contains the specified keyword in the text property. (5 pts)

public static boolean ContainsKeyword(Document docObject, String keyword){

if (docObject.toString().indexOf(keyword,0) >= 0) return true ;

return false;

}

Solutions

Expert Solution

/**
 * Document.java
 */
public class Document {
    private String text;

    public Document(String text) {
        this.text = text;
    }

    public void setText(String text) {
        this.text = text;
    }

    @Override
    public String toString() {
        return text;
    }
}
/**
 * Email.java
 */
public class Email extends Document{
    //private variables
    private String sender, recipent,title;

    public Email(String text, String sender, String recipent, String title) {
        super(text);
        this.sender = sender;
        this.recipent = recipent;
        this.title = title;
    }

    public String getSender() {
        return sender;
    }

    public void setSender(String sender) {
        this.sender = sender;
    }

    public String getRecipent() {
        return recipent;
    }

    public void setRecipent(String recipent) {
        this.recipent = recipent;
    }

    public String getTitle() {
        return title;
    }

    @Override
    public void setText(String text) {
        super.setText(text);
    }

    public void setTitle(String title) {
        this.title = title;
    }

    //pverrided parent tostring and adding additional info
    @Override
    public String toString() {
        return String.format("Title : %s\nSender : %s\nRecipent : %s\nText : %s",this.title,
            this.sender,this.recipent,super.toString());
    }
}
/**
 * File.java
 */
public class File extends Document{

    private String pathname;

    public File(String pathname) {
        super("");
        this.pathname = pathname;
    }

    @Override
    public void setText(String text) {
        super.setText(text);
    }

    @Override
    public String toString() {
        return "Pathname : "+pathname+"\nText : "+super.toString();
    }
}
/**
 * DocumentTest.java
 */
public class DocumentTest {

    public static void main(String[] args) {
        //created two objects
        Email mail = new Email("This is the body of mail","xyz at ddd dot com","abc at gg dot in","Email Title");
        File file = new File("/home/");
        System.out.println("==========================================================");
        file.setText("file text data");
        System.out.println(mail);
        System.out.println("***************************");
        System.out.println(file);
        System.out.println("==========================================================");
        System.out.println("Does mail have text [body] ? "+ContainsKeyword(mail,"body"));
        System.out.println("Does file have text [programming] ? "+ContainsKeyword(file,"programming"));

    }
    //defined the given method
    public static boolean ContainsKeyword(Document docObject, String keyword){
        if(docObject.toString().indexOf(keyword,0)>=0) return true;
        return false;
    }
}

//Output


Related Solutions

Define a class named Document that contains an instance variable of type String named text that stores any textual content for the document.
IN JavaDefine a class named Document that contains an instance variable of type String named text that stores any textual content for the document. Create a method named toString that returns the text field and also include a method to set this value. Next, define a class for Email that is derived from Document and includes instance variables for the sender, recipient, and title of an email message. Implement appropriate set and get methods. The body of the email message...
Define a class named Document that contains an instance variable of type String named text that stores any textual content for the document.
IN JAVADefine a class named Document that contains an instance variable of type String named text that stores any textual content for the document. Create a method named toString that returns the text field and also include a method to set this value.Next, define a class for Email that is derived from Document and includes instance variables for the sender, recipient, and title of an email message. Implement appropriate set and get methods. The body of the email message should...
Define a class named Document that contains a member variable of type String named text that stores any textual content for the document.
Define a class named Document that contains a member variable of type String named text that stores any textual content for the document. Create a method named toString() that returns the text field and also include a method to set this value. Next, define a class for Email that is derived from Document and includes member variables for the sender, recipient, and title of an email message. Implement appropriate accessor and mutator methods. The body of the email message should...
Define a class named Document that contains an instance variable of type String named text that...
Define a class named Document that contains an instance variable of type String named text that stores any textual content for the document. Create a method named toString that returns the text field and also include a method to set this value. Next, define a class for Email that is derived from Document and includes instance variables for the sender, recipient, and title of an email message. Implement appropriate set and get methods. The body of the email message should...
In JAVA please... Define a class named Payment that contains an instance variable "paymentAmount" (non-static member...
In JAVA please... Define a class named Payment that contains an instance variable "paymentAmount" (non-static member variable) of type double that stores the amount of the payment and appropriate accessor (getPaymentAmount() ) and mutator methods. Also create a method named paymentDetails that outputs an English sentence to describe the amount of the payment. Override toString() method to call the paymentDetails() method to print the contents of payment amount and any other details not included in paymentDetails(). Define a class named...
Write a class named GasTank containing: An instance variable named amount of type double, initialized to...
Write a class named GasTank containing: An instance variable named amount of type double, initialized to 0. An instance variable named capacity of type double. A constructor that accepts a parameter of type double. The value of the parameter is used to initialize the value of capacity. A method named addGas that accepts a parameter of type double. The value of the amount instance variable is increased by the value of the parameter. However, if the value of amount is...
Create a class named Horse that contains the following data fields: name - of type String...
Create a class named Horse that contains the following data fields: name - of type String color - of type String birthYear - of type int Include get and set methods for these fields. Next, create a subclass named RaceHorse, which contains an additional field, races (of type int), that holds the number of races in which the horse has competed and additional methods to get and set the new field. ------------------------------------ DemoHorses.java public class DemoHorses {     public static void...
Design a class named Account that contains: A private String data field named accountNumber for the...
Design a class named Account that contains: A private String data field named accountNumber for the account (default AC000). A private double data field named balance for the account (default 0). A private double data field named annualIntRate that stores the current interest rate (default 0). Assume all accounts have the same interest rate. A private Date data field named dateCreated that stores the date when the account was created. A no-arg constructor that creates a default account. A constructor...
Java - Design a class named Account that contains: A private String data field named accountNumber...
Java - Design a class named Account that contains: A private String data field named accountNumber for the account (default AC000). A private double data field named balance for the account (default 0). A private double data field named annualIntRate that stores the current interest rate (default 0). Assume all accounts have the same interest rate. A private Date data field named dateCreated that stores the date when the account was created. A no-arg constructor that creates a default account....
I need this done in JAVA. Define a class named Cash. The class contains the following...
I need this done in JAVA. Define a class named Cash. The class contains the following public elements: A Double stored property that contains the amount of money (dollars and cents) described by an object of the class. A read-only, computed property. It calculates and returns the minimum number of U.S. bills and coins that add up to the amount in the stored property.  The return value is an Int array of length 9 that contains (beginning with index 0 of...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT