* "Write a paper on the ABCL Pathname implementation" ** Needs within ABCL *** Pathname refactoring "vaguely", I want to replace org.lisp.armedbear.Pathname with some sort of abstraction that allows easier maintainence and understanding of the code. cl:logical-pathname a cl:pathname ext:uri-pathname a cl:pathname ext:jar-pathname a ext:uri-pathname We naively begin by attempting to outline reasons one can't replace with an interface. **** constructors #+BEGIN_SRC java new Pathname(namestring) #+#END_SRC #+BEGIN_SRC java Pathname Pathname.create(namestring) #+END_SRC Use Builder or Factory? Try Builder so we can do stuff like #+BEGIN_SRC java Pathname result = new PathnameBuilder() .setDirectory("/foo/bar/") .setName("baz") .setType("bat").build(); **** Encapsulate fields with getter/setters **** TODO cache result of calling Namestring