Skip to content

Instantly share code, notes, and snippets.

@ryan-beckett
ryan-beckett / JInterpreter.java
Created February 4, 2012 07:06
JInterpreterDemo: A demo displaying how the JavaCompiler API can be used to create an application that executes java code given as runtime input from a user. This gist also includes a facade for the JavaCompiler API and a JInterpreter class for interpreti
import java.io.*;
import java.net.*;
import java.util.*;
/**
* A Java statement interpreter. Add a list of statements with
* <code>newStatement</code> and run them with
* <code>run</code>. After running the interpreter, all
* previously added statements are forgotten.
*/
@ryan-beckett
ryan-beckett / DataProviderTest.java
Created January 29, 2012 05:17
Demonstrates a frail implementation of the AbstractFactory pattern.
import java.util.*;
import java.lang.*;
class DataProviderTest
{
public static void main (String[] args) throws java.lang.Exception
{
String provider = "oracle"; //"derby"
DataProviderFactory factory = DataProviderFactory.getInstance();
DataProvider dp = factory.getProvider(provider);
@ryan-beckett
ryan-beckett / EmployeeClient.java
Created January 24, 2012 02:51
A quick demonstration of the MVC pattern.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class EmployeeClient {
@ryan-beckett
ryan-beckett / DirectoryServlet.java
Created January 20, 2012 23:33
A servlet to display the (public) files in your web root.
package com.service.file;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.logging.Level;
import java.util.logging.Logger;
@ryan-beckett
ryan-beckett / Terminal.java
Created January 12, 2012 06:02
A simple GUI-based non-fuctional terminal emulator
import java.awt.Font;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.InputMap;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;