From 0a8f34c27c6ef93c5c94d17728af62c7607e225f Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Thu, 3 Dec 2020 19:21:38 -0500 Subject: Rename types to match Java style This renames several interfaces that had names like IWhatever, since that isn't a style that Java uses --- src/main/java/bjc/data/IContext.java | 62 ------------------------------------ 1 file changed, 62 deletions(-) delete mode 100644 src/main/java/bjc/data/IContext.java (limited to 'src/main/java/bjc/data/IContext.java') diff --git a/src/main/java/bjc/data/IContext.java b/src/main/java/bjc/data/IContext.java deleted file mode 100644 index e519501..0000000 --- a/src/main/java/bjc/data/IContext.java +++ /dev/null @@ -1,62 +0,0 @@ -package bjc.data; - -/** - * Represents a 'context' which is a hierarchical set of objects. - * @author Ben Culkin - * - */ -public interface IContext { - /** - * Register an object with this context. - * - * @param name The name of the object. - * @param o The object to register. - */ - void register(String name, Object o); - - /** - * Get the parent of this context. - * - * @return The parent of this context. - */ - IContext getParent(); - - /** - * Get an object from this context. - * - * @param name The name of the object. - * - * @return The object bound to that name. - */ - Object get(String name); - - /** - * Get an object which is an instance of the provided class or a subclass - * thereof. - * - * @param The type of the object. - * - * @param contract The class of the object. - * - * @return An instance of the provided class. - */ - T get(Class contract); - - /** - * Get a named object which is an instance of the provided class or a subclass - * thereof. - * - * @param The type of the object. - * - * @param name The name of the object - * @param contract The class of the object. - * - * @return An instance of the provided class, with the given name.. - */ - default T get(String name, Class contract) { - Object obj = get(name); - return obj == null - ? getParent().get(name, contract) - : contract.cast(obj); - }; -} -- cgit v1.2.3