Skip to main content

CS 211 Lab 5: Output, Inheritance, Censorship

CensoredWriter Overview

Occasionally in history there has arisen the need to censor communications. An automatic means of doing this is to scan output and block or replace certain key words that appear. We will set up a class CensoredWriter which performs this task: any output that contains a specified string pattern will have the pattern replaced by a censor string. The solution will involve
  • Making CensoredWriter a child class of PrintWriter
  • CensoredWriter will then have print and println methods
  • CensoredWriter will change what the print and println methods do: it will transform input to them.
  • Transformations will be done in a special transform() method of the CensoredWriter. This is a method that the parent class PrintWriter does not have.
  • Transformations of output will utilize String class methods which will replace matched string patterns with the censored text
  • Transformed text will be passed to the parent class print and println methods which will perform the printing.
  • Several constructors for CensoredWriter will be provided so that output can be sent to the screen or to a file.
  • All other methods of CensoredWriter will be inherited from PrintWriter and will behave identically to the parent class.
  • The intended use for CensoredWriter is demonstrated below in an interactive session.
  • A class which acts like a PrintWriter but filters output of certain string patterns. It has several required elements.
  • Constructors to create CensoredWriters that write to System.out and to files. These constructors also accept a string pattern to censor.
  • A transform() method which will transform input strings for output. This method is public to allow for testing but is primarily used internally.
  • Overrides of print and println methods that transform() input text before calling the super class versions of these methods.

Get your solution now

Buy now

Comments

Popular posts from this blog

The Zoo Management System - entity relationship diagram & MS Access Database

Zoo Management System - Project Details: You are the employee of a big, worldwide working Zoo Management Company. Your company is responsible for the Zoo management. Your boss thinks it would be a great idea to store all data for each Zoo in a brand new self-developed ZOO Management System. Up to now, the ZOO management company has maps of each ZOO available. Your boss knows that you took a course in introduction on an ERP system, so he asks you if you could help designing such a system. Each ZOO must have the same organizational structure, which should look like this: Each Zoo has a Zoo-Address. Each Zoo has many visitors (Visitor Ticket Process (VTP). Many Zoo-Attractions belong to a Zoo. Module 1: Entity Relationship Diagram Design a ER (entity-relationship) diagram for your ZOO Management System. Use the information provided below with the entities and its attributes. Put the entities in the correct relationship to each other (organizational structure). Module 2: DB Implem...

Human Physiology by Stuart Ira Fox [PDF] (12th edition) free download

Sudoku Game Project in Java with full source code including GUI task

Introduction The purpose of the project is to try in practice the use of recursion and object-oriented program design. Please make sure to read this entire note before starting your work. Pay close attention to the sections on deadlines, deliverables, and exam rules. The problem Your task in this part of the project is to write a solver for Sudoku puzzles. Sudoku puzzles are a kind of crossword puzzles with numbers where the following two conditions have to be met: In each row or column, the nine numbers have to be from the set [1,2,3,4,5,6,7,8,9] and they must all be different.  For each of the nine non-overlapping 3x3 blocks, the nine numbers have to be from the set [1,2,3,4,5,6,7,8,9] and they ust all be different. The following two figures show a Sudoku puzzle and its solution. The input The input of your program, the Sudoku puzzles, is given in text files. More specifically, they are represented as nine lines of nine characters separated by spaces. The characters can be of two...