Evaluating Software Design Patterns
— the "Gang of Four" patterns implemented in Java 6

Uses of Interface
dk.rode.thesis.meta.log.Log

Packages that use Log
dk.rode.thesis.abstractfactory Implementations and examples of the Abstract Factory design pattern [Gamma95, p.87]. 
dk.rode.thesis.adapter Implementations and examples of the Adapter design pattern [Gamma95, p.139]. 
dk.rode.thesis.bridge Implementations and examples of the Bridge design pattern [Gamma95, p.151]. 
dk.rode.thesis.builder Implementations and examples of the Builder design pattern [Gamma95, p.97]. 
dk.rode.thesis.chainofresponsibility Implementations and examples of the Chain of Responsibility design pattern [Gamma95, p.223]. 
dk.rode.thesis.command Implementations and examples of the Command design pattern [Gamma95, p.233]. 
dk.rode.thesis.composite Implementations and examples of the Composite design pattern [Gamma95, p.163]. 
dk.rode.thesis.decorator Implementations and examples of the Decorator design pattern [Gamma95, p.175]. 
dk.rode.thesis.facade Implementations and examples of the Facade design pattern [Gamma95, p.185]. 
dk.rode.thesis.factorymethod Implementations and examples of the Factory Method design pattern [Gamma95, p.107]. 
dk.rode.thesis.flyweight Implementations and examples of the Flyweight design pattern [Gamma95, p.195]. 
dk.rode.thesis.interpreter Implementations and examples of the Interpreter design pattern [Gamma95, p.243]. 
dk.rode.thesis.iterator Implementations and examples of the Iterator design pattern [Gamma95, p.257]. 
dk.rode.thesis.mediator Implementations and examples of the Mediator design pattern [Gamma95, p.273]. 
dk.rode.thesis.memento Implementations and examples of the Memento design pattern [Gamma95, p.283]. 
dk.rode.thesis.meta.log Defines the simple log model used throughout this project, including system out loggers and file loggers. 
dk.rode.thesis.meta.reflect Various reflection utilities and classes
dk.rode.thesis.meta.test Various tests
dk.rode.thesis.observer Implementations and examples of the Observer design pattern [Gamma95, p.293]. 
dk.rode.thesis.prototype Implementations and examples of the Prototype design pattern [Gamma95, p.117]. 
dk.rode.thesis.proxy Implementations and examples of the Proxy design pattern [Gamma95, p.207]. 
dk.rode.thesis.singleton Implementations and examples of the Singleton design pattern [Gamma95, p.127]. 
dk.rode.thesis.state Implementations and examples of the State design pattern [Gamma95, p.305]. 
dk.rode.thesis.strategy Implementations and examples of the Strategy design pattern [Gamma95, p.315]. 
dk.rode.thesis.templatemethod Implementations and examples of the Template Method design pattern [Gamma95, p.325]. 
dk.rode.thesis.visitor Implementations and examples of the Visitor design pattern [Gamma95, p.331]. 
 

Uses of Log in dk.rode.thesis.abstractfactory
 

Methods in dk.rode.thesis.abstractfactory with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
private static
<E> void
Main.testAbstractionFactory(Log out, String index, AbstractionFactory<E> factory)
          Test abstraction factories.
private static
<E,P> void
Main.testGeneratorFactory(Log out, String index, GeneratorFactory<E,P> factory, P argument)
          Test generator factories.
private static
<E,P> Sequence<E>
Main.testSequenceFactory(Log out, String index, SequenceFactory<E,P> factory, P argument)
          Test sequence factories.
 

Uses of Log in dk.rode.thesis.adapter
 

Methods in dk.rode.thesis.adapter with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.bridge
 

Methods in dk.rode.thesis.bridge with parameters of type Log
private static
<E> boolean
Main.create(Log out, Map<MemorizableSequence<E>,SequenceMemento<E>> mementos, MemorizableSequence<E> sequence)
          Creates a new memento acquired from sequence.
 boolean Main.test(Log out, Arguments arguments)
           
private static
<E> boolean
Main.use(Log out, Map<MemorizableSequence<E>,SequenceMemento<E>> mementos, MemorizableSequence<E> sequence)
          Updates sequence using the relevant memento stored in mementos.
 

Uses of Log in dk.rode.thesis.builder
 

Methods in dk.rode.thesis.builder with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.chainofresponsibility
 

Methods in dk.rode.thesis.chainofresponsibility with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.command
 

Methods in dk.rode.thesis.command with parameters of type Log
private static
<E> boolean
Main.doTest(Log out, int index, Sequence<E> s, Creator creator, Boolean fail, boolean copy)
          Executes a given command test for a given sequence.
 boolean Main.test(Log out, Arguments arguments)
           
private static boolean Main.test(Log out, String heading, Sequence<?>[] sequences, Creator creator, Boolean fail, boolean copy)
          Executes a given command test for all sequences.
private static
<E> List<Command<E>>
Main.test1(Log out, Sequence<E> sequence, Boolean fail)
          Creates command for the first composite test.
private static
<E> List<Command<E>>
Main.test2(Log out, Sequence<E> sequence, Boolean fail)
          Creates command for the second composite test.
 

Uses of Log in dk.rode.thesis.composite
 

Methods in dk.rode.thesis.composite with parameters of type Log
private static void Main.print(Log out, int i, String indent, Sequence<?> sequence)
          Recursive helper method to print the structure of the (composite) sequence supplied as sequence.
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.decorator
 

Methods in dk.rode.thesis.decorator with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.facade
 

Methods in dk.rode.thesis.facade with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.factorymethod
 

Methods in dk.rode.thesis.factorymethod with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
private static
<E,T> boolean
Main.testCreator(Log out, CommandCreator<E,T> creator, Sequence<E> sequence, int index, List<T> tokens)
          Tests the creator supplied as creator using sequence for each token in tokens
private static
<E> boolean
Main.testFactory(Log out, Sequence<E> sequence, int index, List<Factory<? extends Command<E>>> factories)
          Tests the factories supplied in factories that creates commands based on sequence as the single argument.
 

Uses of Log in dk.rode.thesis.flyweight
 

Methods in dk.rode.thesis.flyweight with parameters of type Log
private static void Main.indexOfIgnoreCase(Textual<?> textual, CharSequence token, Locale locale, Log out)
          Finds the indexes of token in textual and logs them to log.
private static Sentence Main.parse(Log out, CharacterFactory factory, String string)
          Parses the string supplied as string into a sentence, which is printed and then returned.
 boolean Main.test(Log out, Arguments arguments)
          Performs the specific tests and report the outcome to the log supplied as log.
 

Uses of Log in dk.rode.thesis.interpreter
 

Methods in dk.rode.thesis.interpreter with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
          Accepted argument: -value=n, where n is an integer value.
 

Uses of Log in dk.rode.thesis.iterator
 

Methods in dk.rode.thesis.iterator with parameters of type Log
private static
<V> void
Main.iterate(Log out, int index, Sequence<V> sequence, int valuesPerLine, boolean recurse)
          Iterates over the sequence values in sequence.
private static
<V> void
Main.iterate(Log out, IterableSequence<V> sequence, int valuesPerLine, boolean recurse)
          Iterates over the sequence values delivered by sequence.
private static
<V> void
Main.iterate(Log out, SequenceIterator<V> iterator, int valuesPerLine, boolean recurse)
          Iterates over the sequence values delivered indirectly by iterator.
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.mediator
 

Methods in dk.rode.thesis.mediator with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.memento
 

Methods in dk.rode.thesis.memento with parameters of type Log
private static
<E> boolean
Main.checkAccess(Log out, Map<MemorizableSequence<E>,SequenceMemento<E>> mementos, Sequence<E> sequence)
          Checks access rules to guarded mementos.
private static
<E> boolean
Main.create(Log out, Map<MemorizableSequence<E>,SequenceMemento<E>> mementos, MemorizableSequence<E> sequence)
          Creates a new memento acquired from sequence.
 boolean Main.test(Log out, Arguments arguments)
           
private static
<E> boolean
Main.use(Log out, Map<MemorizableSequence<E>,SequenceMemento<E>> mementos, MemorizableSequence<E> sequence)
          Updates sequence using the relevant memento stored in mementos.
 

Uses of Log in dk.rode.thesis.meta.log
 

Classes in dk.rode.thesis.meta.log that implement Log
 class AbstractLog
          An abstract log implements the basic traits of any Log implementation.
 class AppendableLog
          An appendable log uses an Appendable object as the target for log messages, for example a PrintStream such as System.out.
 class FileLog
          A file log logs to a given file based on the class a given log is associated with, if any, or to the default log represented by a single physical log file.
 class NullLog
          A null log discards all logged messages regardless if active or not.
 

Fields in dk.rode.thesis.meta.log with type parameters of type Log
private  Map<Class<?>,Log> LogManager.logs
          Created logs per class.
 

Methods in dk.rode.thesis.meta.log that return Log
protected  Log LogManager.create(Class<?> clazz, Class<?> type, AtomicInteger lineNumber)
          Factory method creating the types of log to use.
 Log Log.error(Object... messages)
          Logs each part of an error message supplied in messages with this log as is, no trailing new line or white space inserted between message parts, but with a single new line character after the last part as well as a prefix indicating the message represent an error message.
 Log AbstractLog.error(Object... messages)
           
 Log LogManager.getLog()
          Return the default log.
static Log LogFactory.getLog()
          Returns the global log.
 Log LogManager.getLog(Class<?> clazz)
          Returns, and creates if necessary, the log associated with the class supplied as class, if any.
static Log LogFactory.getLog(Class<?> clazz)
          Returns the log associated with the class supplied as clazz, or the global log if clazz is null.
static Log LogFactory.getLog(Object object)
          Returns the log associated with the class of the object supplied supplied as object, or the global log if object is null.
 Log Log.heading(Object... messages)
          Logs each part of a heading supplied in messages with this log as is, no trailing new line or white space inserted between heading parts, but with a single new line character after the last part, underscored on the next log line.
 Log AbstractLog.heading(Object... heading)
           
 Log Log.print(boolean condition, Object... messages)
          Logs each message part supplied in messages with this log as is, no trailing new line or white space inserted between messages, if and only if condition is true.
 Log AbstractLog.print(boolean condition, Object... messages)
           
 Log Log.print(Object... messages)
          Logs each message part supplied in messages with this log as is, no trailing new line or white space inserted between messages.
 Log AbstractLog.print(Object... messages)
           
 Log Log.println(boolean condition, Object... messages)
          Logs each message part supplied in messages with this log as is, no trailing new line or white space inserted between messages, if and only if condition is true, but always with a single new line character after the last part.
 Log AbstractLog.println(boolean condition, Object... messages)
           
 Log Log.println(Object... messages)
          Logs each message part supplied in messages with this log as is, no trailing new line or white space inserted between messages, but with a single new line character after the last part.
 Log AbstractLog.println(Object... messages)
           
 Log Log.setActive(boolean active)
          If active is true, this log is set to active, i.e. to log messages.
 Log AbstractLog.setActive(boolean active)
           
 Log Log.warn(Object... messages)
          Logs each part of a warning message supplied in messages with this log as is, no trailing new line or white space inserted between message parts, but with a single new line character after the last part as well as a prefix indicating the message represent a warning message.
 Log AbstractLog.warn(Object... messages)
           
 

Uses of Log in dk.rode.thesis.meta.reflect
 

Methods in dk.rode.thesis.meta.reflect with parameters of type Log
 void IdentifiedStackTraceElement.printStackTrace(Log out)
          Prints the call-stack to out with a severity level of error.
 

Uses of Log in dk.rode.thesis.meta.test
 

Methods in dk.rode.thesis.meta.test with parameters of type Log
 boolean Testable.test(Log out, Arguments arguments)
          Performs the specific tests and report the outcome to the log supplied as log.
 boolean IntegrityTests.test(Log out, Arguments arguments)
           
 boolean AllTests.test(Log out, Arguments arguments)
           
private
<E> boolean
IntegrityTests.test(Log out, boolean log, int index, Sequence<E> sequence, int iterations, int maxErrors)
          Performs an integrity test of the Sequence supplied as sequence, and returns true upon success or false if the test failed.
 

Uses of Log in dk.rode.thesis.observer
 

Methods in dk.rode.thesis.observer with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.prototype
 

Methods in dk.rode.thesis.prototype with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.proxy
 

Methods in dk.rode.thesis.proxy with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.singleton
 

Methods in dk.rode.thesis.singleton with parameters of type Log
private
<T,S extends T>
boolean
Main.getSingleton(Log out, SingletonRegistry<T> registry, Class<S> type, S singleton)
          Tests the singleton object supplied as singleton against the return instance from registry when looked up using type.
private
<T,S extends T>
boolean
Main.loadSingleton(Log out, LoadableSingletonRegistry<T> registry, String className, S singleton)
          Tests the singleton object supplied as singleton against the return instance from registry when looked up using type.
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.state
 

Methods in dk.rode.thesis.state with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.strategy
 

Methods in dk.rode.thesis.strategy with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.templatemethod
 

Methods in dk.rode.thesis.templatemethod with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 

Uses of Log in dk.rode.thesis.visitor
 

Methods in dk.rode.thesis.visitor with parameters of type Log
 boolean Main.test(Log out, Arguments arguments)
           
 void LoggingVisitor.visitComposite(CompositeSequence<?> sequence, Log out)
           
 void LoggingVisitor.visitDateValued(Sequence<Date> sequence, Log out)
           
 void LoggingVisitor.visitIntegerValued(Sequence<Integer> sequence, Log out)
           
 void LoggingVisitor.visitLongValued(Sequence<Long> sequence, Log out)
           
 void LoggingVisitor.visitMemorizable(MemorizableSequence<?> sequence, Log out)
           
 void LoggingVisitor.visitObservable(ObservableSequence<?,?,?> sequence, Log out)
           
 void LoggingVisitor.visitReversible(ReversibleSequence<?> sequence, Log out)
           
 void LoggingVisitor.visitStateable(StateableSequence<?> sequence, Log out)
           
 void LoggingVisitor.visitStringValued(Sequence<? extends CharSequence> sequence, Log out)
           
 void LoggingVisitor.visitUnknown(Sequence<?> sequence, Log out)
           
 


Gunni Rode / rode.dk

Feel free to use and/or modify the Java 6 source code developed for this thesis AT YOUR OWN RISK, but note that the source code comes WITHOUT ANY — and I do mean WITHOUT ANY — form of warranty WHAT SO EVER!

The original thesis and source code are available at rode.dk/thesis.