I've noticed something disturbing about service loader... I thought its iterator returned a new object by default, so i made a protected method in my abstract class to serve as a "constructor" and i thought i was done. A simple system.out.println reveals the horrible truth.
util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.zipextrac...@1e6ac83 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.zipextrac...@1e6ac83 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.zipextrac...@1e6ac83 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.rarextrac...@1ca3f82 util.io.compressed.rarextrac...@1ca3f82 So no way to specify that object returned by the iterator should always be new? This should at least be specified in large and bold letters. Preferably a setting with default create a new object would be better.
