It's an abstract factory program that should have been fairly simple but I just can't do the minor fix or figure out what's wrong. Help please!
Need this done really quick :/
Code
package sample;
import javafx.application.Platform;
import java.io.*;
import java.io.File; // Find file
import java.io.FileReader; // Read file
public class Main
{
public static void main(String[] args)
{
Client client = new Client();
abstractFactory factory = null;
try
{
BufferedReader fileToRead = new BufferedReader(new FileReader("out/production/AbstractFactory/sample/ConfigurationFile.txt"));
StringBuilder build = new StringBuilder();
String line = fileToRead.readLine();
while (line != null)
{
build.append(line);
if (line.equals("Word00"))
{
factory = new concreteWord00Factory();
} else if (line.equals("Word10"))
{
factory = new concreteWord10Factory();
} else if (line.equals("Word18"))
{
factory = new concreteWord18Factory();
} else if (line.equals("Word90"))
{
factory = new concreteWord90Factory();
} else {
System.out.println("No instance occurs");
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
/* String theFile = "out/production/AbstractFactory/sample/ConfigurationFile.txt"; // path of text file
try
{
fileReader(theFile);
if()
{
factory = new concreteWord00Factory();
}
else if(match == "Word10")
{
factory = new concreteWord10Factory();
}
else if(match == "Word18")
{
factory = new concreteWord18Factory();
}
else if(match == "Word90")
{
factory = new concreteWord90Factory();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
private static void fileReader(String fileName) throws IOException
{
File theFile = new File(fileName);
FileReader fileToRead = new FileReader(theFile);
BufferedReader bufferReader = new BufferedReader(fileToRead);
String line;
System.out.println("Read text file using BufferedReader");
while((line = bufferReader.readLine()) != null)
{
//process the line
System.out.println(line);
}
//close resources
bufferReader.close();
fileToRead.close();
}*/
}
// One for each of the objects being created.
// Abstract products
// abstract product 1
interface abstractButton {
public void buttonProductWord00();
public void buttonProductWord10();
public void buttonProductWord18();
public void buttonProductWord90();
}
// abstract product 2
interface abstractPanel {
public void panelProductWord00();
public void panelProductWord10();
public void panelProductWord18();
public void panelProductWord90();
}
// abstract product 3
interface abstractTextField {
public void textFieldProductWord00();
public void textFieldProductWord10();
public void textFieldProductWord18();
public void textFieldProductWord90();
}
// Concrete products
abstract class buttonProductconcreteWord00 implements abstractButton {
public void createButton() {
System.out.println("Button Word00");
}
}
abstract class panelProductconcreteWord00 implements abstractPanel {
public void createPanel() {
System.out.println("Panel Word00");
}
}
abstract class textFieldProductconcreteWord00 implements abstractTextField {
public void createTextField() {
System.out.println("Textbox Word00");
}
}
abstract class buttonProductconcreteWord10 implements abstractButton {
public void createButton() {
System.out.println("Button Word10");
}
}
abstract class panelProductconcreteWord10 implements abstractPanel {
public void createPanel() {
System.out.println("Panel Word10");
}
}
abstract class textFieldProductconcreteWord10 implements abstractTextField {
public void createTextField() {
System.out.println("Textbox Word10");
}
}
abstract class buttonProductconcreteWord18 implements abstractButton {
public void createButton() {
System.out.println("Button Word18");
}
}
abstract class panelProductconcreteWord18 implements abstractPanel {
public void createPanel() {
System.out.println("Panel Word18");
}
}
abstract class textFieldProductconcreteWord18 implements abstractTextField {
public void createTextField() {
System.out.println("Textbox Word18");
}
}
abstract class buttonProductconcreteWord90 implements abstractButton {
public void createButton() {
System.out.println("Button Word90");
}
}
abstract class panelProductconcreteWord90 implements abstractPanel {
public void createPanel() {
System.out.println("Panel Word90");
}
}
abstract class textFieldProductconcreteWord90 implements abstractTextField {
public void createTextField() {
System.out.println("Textbox Word90");
}
}
// Creates the four Word versions
// abstract factory
abstract class abstractFactory {
abstract abstractButton abstractButton();
abstract abstractPanel abstractPanel();
abstract abstractTextField abstractTextField();
}
// Concrete factories
class concreteWord00Factory extends abstractFactory {
// ConcreteFactory1
//create an concreteWord00 objects
public abstractButton abstractButton() {
buttonProductconcreteWord00 button = new buttonProductconcreteWord00() {
@Override
public void buttonProductWord00() {
}
@Override
public void buttonProductWord10() {
}
@Override
public void buttonProductWord18() {
}
@Override
public void buttonProductWord90() {
}
};
return button;
}
public abstractPanel abstractPanel() {
panelProductconcreteWord00 panel = new panelProductconcreteWord00() {
@Override
public void panelProductWord00() {
}
@Override
public void panelProductWord10() {
}
@Override
public void panelProductWord18() {
}
@Override
public void panelProductWord90() {
}
};
return panel;
}
public abstractTextField abstractTextField() {
textFieldProductconcreteWord00 textField = new textFieldProductconcreteWord00() {
@Override
public void textFieldProductWord00() {
}
@Override
public void textFieldProductWord10() {
}
@Override
public void textFieldProductWord18() {
}
@Override
public void textFieldProductWord90() {
}
};
return textField;
}
}
class concreteWord10Factory extends abstractFactory {
// ConcreteFactory2
//create an concreteWord10 objects
public abstractButton abstractButton() {
buttonProductconcreteWord10 button = new buttonProductconcreteWord10() {
@Override
public void buttonProductWord00() {
}
@Override
public void buttonProductWord10() {
}
@Override
public void buttonProductWord18() {
}
@Override
public void buttonProductWord90() {
}
};
return button;
}
public abstractPanel abstractPanel() {
panelProductconcreteWord10 panel = new panelProductconcreteWord10() {
@Override
public void panelProductWord00() {
}
@Override
public void panelProductWord10() {
}
@Override
public void panelProductWord18() {
}
@Override
public void panelProductWord90() {
}
};
return panel;
}
public abstractTextField abstractTextField() {
textFieldProductconcreteWord10 textField = new textFieldProductconcreteWord10() {
@Override
public void textFieldProductWord00() {
}
@Override
public void textFieldProductWord10() {
}
@Override
public void textFieldProductWord18() {
}
@Override
public void textFieldProductWord90() {
}
};
return textField;
}
}
class concreteWord18Factory extends abstractFactory {
// ConcreteFactory3
//create an concreteWord18 objects
public abstractButton abstractButton() {
buttonProductconcreteWord18 button = new buttonProductconcreteWord18() {
@Override
public void buttonProductWord00() {
}
@Override
public void buttonProductWord10() {
}
@Override
public void buttonProductWord18() {
}
@Override
public void buttonProductWord90() {
}
};
return button;
}
public abstractPanel abstractPanel() {
panelProductconcreteWord18 panel = new panelProductconcreteWord18() {
@Override
public void panelProductWord00() {
}
@Override
public void panelProductWord10() {
}
@Override
public void panelProductWord18() {
}
@Override
public void panelProductWord90() {
}
};
return panel;
}
public abstractTextField abstractTextField() {
textFieldProductconcreteWord18 textField = new textFieldProductconcreteWord18() {
@Override
public void textFieldProductWord00() {
}
@Override
public void textFieldProductWord10() {
}
@Override
public void textFieldProductWord18() {
}
@Override
public void textFieldProductWord90() {
}
};
return textField;
}
}
class concreteWord90Factory extends abstractFactory {
// ConcreteFactory4
//create an concreteWord90 objects
public abstractButton abstractButton() {
buttonProductconcreteWord90 button = new buttonProductconcreteWord90() {
@Override
public void buttonProductWord00() {
}
@Override
public void buttonProductWord10() {
}
@Override
public void buttonProductWord18() {
}
@Override
public void buttonProductWord90() {
}
};
return button;
}
public abstractPanel abstractPanel() {
panelProductconcreteWord90 panel = new panelProductconcreteWord90() {
@Override
public void panelProductWord00() {
}
@Override
public void panelProductWord10() {
}
@Override
public void panelProductWord18() {
}
@Override
public void panelProductWord90() {
}
};
return panel;
}
public abstractTextField abstractTextField() {
textFieldProductconcreteWord90 textField = new textFieldProductconcreteWord90() {
@Override
public void textFieldProductWord00() {
}
@Override
public void textFieldProductWord10() {
}
@Override
public void textFieldProductWord18() {
}
@Override
public void textFieldProductWord90() {
}
};
return textField;
}
}
public class Client
{
public void buildFactory(abstractFactory factory)
{
abstractButton button = factory.abstractButton();
abstractPanel panel = factory.abstractPanel();
abstractTextField textField = factory.abstractTextField();
}
}
}
This post was edited by Cocoo on Feb 17 2019 05:55pm