JSelfModify - a Java software to simplify access to files/folders and other hierarchy-related things
I'm Ben F Rayfield, and my contact info is at my main website: Audivolv.com
Its for building Java software with. Its not a software by itself. Programmers can download it (licensed open-source GNU LGPL (any version) and/or Apache version 2) at http://sourceforge.net/projects/jselfmodify or sometimes the newest version is in other softwares (Human AI Net or Audivolv maybe) and will be copied there after changes are done and tested.
Dynamic tree of Java objects encapsulates hard-drive and Jar/Zip files (and their inner files) and Java objects all the same way. Create new ways of communication as executable Jar files, like a paint program that creates/uses paint programs as tools.
It has its own path syntax.
Example: /"quote things with a space or\ttab"/but/things/without/a/space/do/not/"need quotes or \r\nescape codes"
Example: /"\"quote things with a space or \\ttab\""/recursive/escaping/is/allowed
Example: /paths/without/whitespace/or/unusual/chars/are/the/same/as/linux/paths
Most Java softwares that use java.io.File and/or load files from inside themself, have redundant code to do it different ways for different functions. Use JSelfModify to change each of those things to 1 line of code.
This project started in CodeSimian which is a Jar file that can save new Jar files as it self modifies. Its branched into 2 of my other sourceforge projects (Audivolv and HumanAINet). As I continue developing JSelfModify inside them, every now and then, I save an independent copy. It is important enough to be a software by itself.
Would be great for artificial intelligence that generates variations of itself as new executable Jar files. Just be careful which parts you allow it to modify. If code is modified, you could use Javassist to recompile it at runtime, for example.
Different operating systems have different behaviors for read, write, append, delete, and list files. JSelfModify's uses the same Java interface for those things regardless of if its hard-drive, inner files of a jar/zip, Java objects, or whatever file-system-like thing you add to it.