Skip to content

Commit

Permalink
add print stream manipulation
Browse files Browse the repository at this point in the history
  • Loading branch information
GreenBloodDev committed Oct 13, 2023
1 parent 2cdd203 commit d52e04e
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 1 deletion.
30 changes: 30 additions & 0 deletions src/main/java/pl/nightdev701/OpenAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@
import pl.nightdev701.key.UniqueValueKey;
import pl.nightdev701.key.ValueKey;
import pl.nightdev701.logger.AbstractLogger;
import pl.nightdev701.stream.OpenPrintStream;

import java.io.FileNotFoundException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
Expand All @@ -30,60 +32,88 @@ public class OpenAPI {

/**
* encrypt and decrypt strings
* @param value
*/
public static CryptoManager getCryptoManager(String value) {
return new CryptoManager(value);
}

/**
* encrypt and decrypt strings with logger implementation
* @param logger
* @param value
*/
public static CryptoManager getCryptoManager(String value, AbstractLogger logger) {
return new CryptoManager(value, logger);
}

/**
* manage database connections and command easy
* @param formular
* @param type
*/
public static DatabaseConnector getDatabaseManager(DatabaseFormular formular, DatabaseType type) {
return new DatabaseConnector(formular, type);
}

/**
* manage database connections and command easy with logger implementation
* @param logger
* @param formular
* @param type
*/
public static DatabaseConnector getDatabaseManager(DatabaseFormular formular, DatabaseType type, AbstractLogger logger) {
return new DatabaseConnector(formular, type, logger);
}

/**
* request http and handle it
* @param url
*/
public static HttpRequestHandler getRequestHandler(String url) {
return new HttpRequestHandler(url);
}

/**
* request http and handle it with logger implementation
* @param logger
* @param url
*/
public static HttpRequestHandler getRequestHandler(String url, AbstractLogger logger) {
return new HttpRequestHandler(url, logger);
}

/**
* key to save values
* @param value
*/
public static BaseKey getValueKey(String value) {
return ValueKey.getKey(value);
}

/**
* key to save uuid
* @param value
*/
public static BaseKey getValueKey(UUID value) {
return UniqueValueKey.getKey(value);
}

/**
* manipulate System.out
*/
public OpenPrintStream getPrintStream() throws FileNotFoundException {
return new OpenPrintStream();
}

/**
* manipulate System.out
* @param logger
*/
public OpenPrintStream getPrintStream(AbstractLogger logger) throws FileNotFoundException {
return new OpenPrintStream(logger);
}

/**
* print date and clock
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public void log(Object level, String msg) {
writer.write(result + "\n");
writer.flush();

System.out.println(result);
System.out.print(result+"\n");
} catch (IOException e) {
System.err.println("Failed to log! " + e.getMessage());
e.printStackTrace();
Expand Down
78 changes: 78 additions & 0 deletions src/main/java/pl/nightdev701/stream/OpenPrintStream.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
package pl.nightdev701.stream;

import pl.nightdev701.logger.AbstractLogger;
import pl.nightdev701.logger.standard.DefaultLogger;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.logging.Level;

public class OpenPrintStream extends PrintStream {

private OpenPrintStream(String fileName) throws FileNotFoundException {
super(fileName);
}

AbstractLogger logger;

public OpenPrintStream() throws FileNotFoundException {
super("alternative_log.txt");
this.logger = new DefaultLogger();
}

public OpenPrintStream(AbstractLogger logger) throws FileNotFoundException {
super("alternative_log.txt");
this.logger = logger;
}

@Override
public void println(String x) {
logger.log(Level.INFO, x);
new File("alternative_log.txt").delete();
}

@Override
public void println(int x) {
println(objectToString(x));
}

@Override
public void println(char x) {
println(objectToString(x));
}

@Override
public void println(boolean x) {
println(objectToString(x));
}

@Override
public void println(long x) {
println(objectToString(x));
}

@Override
public void println(float x) {
println(objectToString(x));
}

@Override
public void println(char[] x) {
println(objectToString(x));
}

@Override
public void println(double x) {
println(objectToString(x));
}

@Override
public void println(Object x) {
println(objectToString(x));
}

private String objectToString(Object o){
return o.toString();
}
}

0 comments on commit d52e04e

Please sign in to comment.