<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1911532913300066042</id><updated>2011-10-23T10:17:07.036+02:00</updated><category term='sennmagic'/><category term='open source'/><category term='java'/><category term='senn'/><category term='magic'/><category term='utilities'/><title type='text'>SennMagic</title><subtitle type='html'>SennMagic, a small bundle of open source Java classes with handy and fun methods by Bart Thierens.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-5034332263345544252</id><published>2011-05-09T11:18:00.000+02:00</published><updated>2011-05-09T11:18:48.199+02:00</updated><title type='text'>Updates incoming in 3.6</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Hi all,&lt;br /&gt;&lt;br /&gt;version 3.6 of SennMagic is currently in the making and there's some nice new stuff in there!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;AutowiredHttpServlet&lt;/b&gt;: an HttpServlet that allows your Spring beans to be automatically injected if you annotate them with the Spring @Autowired annotation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The &lt;b&gt;Directory &lt;/b&gt;class has been retrofitted to extend java.io.File.&amp;nbsp; Some methods have been removed to avoid duplicate methods with java.io.File.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The &lt;b&gt;Chainable Collections API&lt;i&gt; &lt;/i&gt;&lt;/b&gt;has some new stuff aswell!&amp;nbsp;&lt;br /&gt;&lt;br /&gt;First of all, the implementations have been changed so they return their own implementation instead of the interface.&amp;nbsp; This way specific implementation methods can be added to the end of the chain if needed.&lt;br /&gt;For example in ChainableHashMap:&lt;br /&gt;&lt;br /&gt;public ChainableMap&amp;lt;K, V&amp;gt; add(K key, V value) {...}&lt;br /&gt;&lt;br /&gt;has been changed to:&lt;br /&gt;&lt;br /&gt;public &lt;b&gt;ChainableHashMap&lt;/b&gt;&amp;lt;K, V&amp;gt; add(K key, V value) {...}&lt;br /&gt;&lt;br /&gt;Second, I've added &lt;b&gt;ChainableVector &lt;/b&gt;and &lt;b&gt;ChainableHashtable &lt;/b&gt;to the CCA.&lt;br /&gt;&lt;br /&gt;And as always methods have been added to various existing classes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Stay tuned!&lt;br /&gt;&lt;br /&gt;Bart&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-5034332263345544252?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/5034332263345544252/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2011/05/updates-incoming-in-36.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/5034332263345544252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/5034332263345544252'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2011/05/updates-incoming-in-36.html' title='Updates incoming in 3.6'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-4500449300304936040</id><published>2011-01-23T20:50:00.000+01:00</published><updated>2011-01-23T20:50:59.582+01:00</updated><title type='text'>Not dead but very much alive!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;It's been a while since I updated anything on the SennMagic project, but here it is!&lt;br /&gt;&lt;br /&gt;Version 3.5 has some minor changes and additions in existing classes (DFCUtils, GeneralUtils) but most importantly:&lt;br /&gt;The 'chainable' collections api!&lt;br /&gt;&lt;br /&gt;Don't you just hate it when you are instantiating objects and you have to pass a Collection instance and you can't do it in one line because the collection needs one or more items in it, like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;car.setPassengers(new ArrayList&amp;lt;Passenger&amp;gt;()); // you can only add an empty list&lt;br /&gt;//so you have to do:&lt;br /&gt;List&amp;lt;Passenger&amp;gt; passengers = new ArrayList&amp;lt;Passenger&amp;gt;();&lt;br /&gt;passengers.add(new Passenger("Bart"));&lt;br /&gt;car.setPassengers(passengers);&lt;/blockquote&gt;&lt;br /&gt;That's all in the past with the &lt;b&gt;chainable collections api&lt;/b&gt;!&lt;br /&gt;&lt;br /&gt;The chainable collections api has extra methods (with very recognizable, straightforward names) to add/remove/replace items in the collections, but instead of the normal return value, it returns the collection itself.&amp;nbsp; This enables you to 'chain' actions like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;//same as previous example:&lt;br /&gt;car.setPassengers(new ChainableArrayList&amp;lt;Passenger&amp;gt;().put(new Passenger("Bart")));&lt;/blockquote&gt;&lt;br /&gt;I have created implementations for the most commonly used collections (+maps):&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;b&gt;ChainableList &lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends List&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;ChainableArrayList &lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends ArrayList implements ChainableList&lt;/i&gt;&lt;/span&gt; &lt;/li&gt;&lt;li&gt;ChainableLinkedList &lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends LinkedList&lt;/i&gt;&lt;i&gt; implements ChainableList&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;ChainableMap &lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends Map&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;ChainableHashMap &lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends HashMap&lt;/i&gt;&lt;i&gt; implements ChainableMap&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;ChainableLinkedHashMap &lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends LinkedHashMap&lt;/i&gt;&lt;i&gt; implements &lt;/i&gt;&lt;i&gt;ChainableMap&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;ChainableTreeMap &lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends TreeMap&lt;/i&gt;&lt;i&gt; implements &lt;/i&gt;&lt;i&gt;ChainableMap&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;ChainableQueue &lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends Queue&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;ChainablePriorityQueue &lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends PriorityQueue&lt;/i&gt;&lt;i&gt; implements ChainableQueue&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;ChainableSet &lt;/b&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends Set&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;ChainableHashSet &lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends HashSet&lt;/i&gt;&lt;i&gt; implements ChainableSet&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;ChainableLinkedHashSet &lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends LinkedHashSet&lt;/i&gt;&lt;i&gt; implements &lt;/i&gt;&lt;i&gt;ChainableSet&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;ChainableTreeSet &lt;span style="font-size: x-small;"&gt;&lt;i&gt;extends TreeSet&lt;/i&gt;&lt;i&gt; implements &lt;/i&gt;&lt;i&gt;ChainableSet&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-size: small;"&gt;It's already proven to be quite handy, especially when creating unit tests, in multiple projects, by multiple developers.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-size: small;"&gt;Get it while it's still hot!&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-size: small;"&gt;Bart &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-4500449300304936040?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/4500449300304936040/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2011/01/not-dead-but-very-much-alive.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/4500449300304936040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/4500449300304936040'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2011/01/not-dead-but-very-much-alive.html' title='Not dead but very much alive!'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-5826767429118121347</id><published>2010-05-06T20:32:00.002+02:00</published><updated>2010-05-09T11:42:03.495+02:00</updated><title type='text'>New version!  Focus on Java Reflection</title><content type='html'>Hello young ,and less young, padawans &lt;br /&gt;&lt;br /&gt;I was gathering stuff to put in my next release, but it was nothing mind-boggling.&lt;br /&gt;Until a couple of days ago...&lt;br /&gt;&lt;br /&gt;I was trying to create a method that would be able to call an SBO (Documentum Service-Based Business Object) without having to import the SBO-interface and having to add the jar to my classpath.&lt;br /&gt;&lt;br /&gt;I know this can easily be done using Java Reflection, but the problem was: I wanted to create &lt;b&gt;one method&lt;/b&gt; to call any SBO.&lt;br /&gt;&lt;br /&gt;Something like this:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;public Object callSBO(String sboName, String methodName, Object... args){...}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Now, that isn't such a hard thing to do.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Get the SBO-service&lt;/li&gt;&lt;li&gt;use Reflection to get the method and invoke it&lt;/li&gt;&lt;/ol&gt;That is, when all your arguments are &lt;b&gt;Objects&lt;/b&gt;!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I came across the problem of calling an SBO that takes an &lt;b&gt;int&lt;/b&gt; value + some Objects.&lt;br /&gt;The problem is that Java reflection wraps an &lt;b&gt;int&lt;/b&gt;-value into an &lt;b&gt;Integer&lt;/b&gt; to be able to put it in a &lt;b&gt;Object&lt;/b&gt;-array.&lt;br /&gt;Since we don't want to pass both an &lt;b&gt;Object[]&lt;/b&gt; array and the corresponding &lt;b&gt;Class[]&lt;/b&gt; array, we have to create the &lt;b&gt;Class&lt;/b&gt;-array on the fly.&lt;br /&gt;So we start with 2 &lt;b&gt;int&lt;/b&gt;s, and unwillingly end up with 2 &lt;b&gt;Integer&lt;/b&gt;s.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now I don't know if you have ever tried calling a function that takes &lt;b&gt;int&lt;/b&gt;-values with &lt;b&gt;Integer&lt;/b&gt; values through reflection, but I can assure you, it results in nice &lt;b&gt;NoSuchMethodException&lt;/b&gt;s. &lt;br /&gt;&lt;br /&gt;As a possible solution I tried to replace all primitive-wrappers-classes in the Class-array with primitive-classes, but what if you ever come across a method like this:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;public void foo(int i, String s, Double d){...}&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Ye, I know, functions that mix primitives with wrappers are rare, but exist nonetheless!&amp;nbsp; So ignoring that possibility would be a bad choice.&lt;br /&gt;That left me with 2 options:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Also pass an array with the corresponding classes to the method (no way!)&lt;/li&gt;&lt;li&gt;Work some &lt;b&gt;MAGIC&amp;nbsp; &lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;I obviously decided to choose the latter, and I'll present it soon!&lt;br /&gt;&lt;br /&gt;It's easy to use, just pass a Class/Object, methodName and an array of Objects to the method (as varArgs), and let &lt;b&gt;SennMagic &lt;/b&gt;decide which values should be primitive and which should be wrappers.&lt;br /&gt;&lt;br /&gt;I created the method to able to use in any case, and I also added a specific method &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;callService(...) &lt;span style="font-family: inherit; font-size: small;"&gt;to &lt;b&gt;DFCUtils&lt;/b&gt;.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;Now you can call any SBO without having to add the jar to the classpath of the (web)application.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Till soon... &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Cheers,&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Bart&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-5826767429118121347?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/5826767429118121347/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2010/05/new-version-focus-on-java-reflection.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/5826767429118121347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/5826767429118121347'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2010/05/new-version-focus-on-java-reflection.html' title='New version!  Focus on Java Reflection'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-4140948150687077909</id><published>2010-04-13T10:37:00.005+02:00</published><updated>2010-04-26T10:00:28.546+02:00</updated><title type='text'>DFC with multiple dfc.properties files</title><content type='html'>&lt;b&gt;&lt;u&gt;UPDATED:&lt;/u&gt; &lt;i&gt;I have called quits on this little sideproject.&amp;nbsp; It was working ok-ish, but it was not performant enough and I just couldn't bring myself to make this work. &lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Source code can be handed out if you'd like to give it a try.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;For now I'll just focus (lol) on the SennMagic library&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I developed a small Java package that allows you to code a DFC based application that uses multiple dfc.properties files.&lt;br /&gt;&lt;br /&gt;I'm still in the testing phase, but if you want to try it out (and help me test it) you can contact me and ask for the package.&lt;br /&gt;&lt;br /&gt;It has to be tested in&lt;br /&gt;- various OS's&lt;br /&gt;- different Documentum setups (Oracle, SQL Server)&lt;br /&gt;- single- &amp;amp; multithreaded DFC apps (this might show us a few bugs)&lt;br /&gt;- webapps&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can contact me through &lt;br /&gt;- replying here&lt;br /&gt;- &lt;a href="mailto:bart.senn@gmail.com"&gt;mail&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://www.twitter.com/thierensbart"&gt;twitter&lt;/a&gt; &lt;br /&gt;- &lt;a href="http://community.emc.com/people/BartThierens"&gt;EMC Community Forums&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Use "SennMagic DFC" as subject.&lt;br /&gt;&lt;br /&gt;Bart&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;EDIT: to avoid confusion: this jar &lt;b&gt;cannot&lt;/b&gt; be found on our SourceForge page yet!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-4140948150687077909?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/4140948150687077909/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2010/04/dfc-with-multiple-dfcproperties-files.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/4140948150687077909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/4140948150687077909'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2010/04/dfc-with-multiple-dfcproperties-files.html' title='DFC with multiple dfc.properties files'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-4168644756958654024</id><published>2010-03-31T14:59:00.000+02:00</published><updated>2010-03-31T14:59:15.550+02:00</updated><title type='text'>Bugfix</title><content type='html'>I fixed the bug in CountryUtils!&lt;br /&gt;&lt;br /&gt;You can find the updated version of SennMagic at SourceFourge!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-4168644756958654024?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/4168644756958654024/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2010/03/bugfix.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/4168644756958654024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/4168644756958654024'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2010/03/bugfix.html' title='Bugfix'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-1655253939659134045</id><published>2010-03-25T14:20:00.002+01:00</published><updated>2010-03-25T14:20:57.626+01:00</updated><title type='text'>Bug in CountryUtils</title><content type='html'>Hello all,&lt;br /&gt;&lt;br /&gt;I discovered that a there's a bug in CountryUtils.&lt;br /&gt;It can't find the country_codes.xml file.&lt;br /&gt;&lt;br /&gt;I'll fix this asap!&lt;br /&gt;&lt;br /&gt;For the time being, if you want to use CountryUtils, place the resources-folder (found in senn-magic-3.2-src.zip/com/senn/magic/util/resources) in the root of your application.&lt;br /&gt;&lt;br /&gt;My apologies!&lt;br /&gt;&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-1655253939659134045?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/1655253939659134045/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2010/03/bug-in-countryutils.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/1655253939659134045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/1655253939659134045'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2010/03/bug-in-countryutils.html' title='Bug in CountryUtils'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-8075210384337160570</id><published>2010-03-03T20:47:00.001+01:00</published><updated>2010-03-03T20:47:40.557+01:00</updated><title type='text'>SM 3.2 released! And how!!!</title><content type='html'>Hi everybody,&lt;br /&gt;&lt;br /&gt;it's been a while since the last version, but here it is!&lt;br /&gt;&lt;br /&gt;SENNMAGIC 3.2!&lt;br /&gt;&lt;br /&gt;A whole lot has been added since 3.1!&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;com.senn.magic.util.WebUtils&lt;/li&gt;&lt;li&gt;com.senn.magic.util.CountryUtils&lt;/li&gt;&lt;li&gt;com.senn.magic.util.DSUtils&lt;/li&gt;&lt;li&gt;com.senn.magic.io.Directory&lt;/li&gt;&lt;/ul&gt;And ofcourse, many methods added to the existing classes!&lt;br /&gt;&lt;br /&gt;Check out the javadoc and release notes for more info!&lt;br /&gt;&lt;br /&gt;As always you can find it @ &lt;a href="http://sourceforge.net/projects/sennmagic/"&gt;our sourceforge page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-8075210384337160570?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/8075210384337160570/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2010/03/sm-32-released-and-how.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/8075210384337160570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/8075210384337160570'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2010/03/sm-32-released-and-how.html' title='SM 3.2 released! And how!!!'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-4021880197584970513</id><published>2010-02-12T09:57:00.000+01:00</published><updated>2010-02-12T09:57:35.016+01:00</updated><title type='text'>Next version of SennMagic in the making!</title><content type='html'>Hi everybody!&lt;br /&gt;&lt;br /&gt;I'm glad to announce that if I've got alot of new stuff for the new version of &lt;b&gt;SennMagic&lt;/b&gt;!&lt;br /&gt;Some new Util-classes, some methods updated or improved and even a special dedicated POJO class for working with Filesystem directories (as opposed to using java.io.File which is not very straightforward for directories).&lt;br /&gt;&lt;br /&gt;So how's that for a sneakpeak!&lt;br /&gt;&lt;br /&gt;I don't know yet when I'll release it, but it won't be long!&lt;br /&gt;&lt;br /&gt;Stay tuned!&lt;br /&gt;&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-4021880197584970513?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/4021880197584970513/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2010/02/next-version-of-sennmagic-in-making.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/4021880197584970513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/4021880197584970513'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2010/02/next-version-of-sennmagic-in-making.html' title='Next version of SennMagic in the making!'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-7066514559898605280</id><published>2010-01-27T09:39:00.001+01:00</published><updated>2010-01-27T09:42:21.952+01:00</updated><title type='text'>SennMagic 3.1 = 3.0 fixed + extras!</title><content type='html'>I fixed the compile-issue with SennMagic 3.0 and as an apology, I added some new methods that I was saving for a future release.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;GeneralUtils.canBeBoolean(String):boolean&lt;br /&gt;GeneralUtils.canBeByte(String):boolean&lt;br /&gt;GeneralUtils.canBeDouble(String):boolean&lt;br /&gt;GeneralUtils.canBeFloat(String):boolean&lt;br /&gt;GeneralUtils.canBeInteger(String):boolean&lt;br /&gt;GeneralUtils.canBeLong(String):boolean&lt;br /&gt;GeneralUtils.canBeShort(String):boolean&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;These methods check if a String vaue can be converted to the respective type.&lt;br /&gt;It saves you the trouble of having to catch NumberFormatException everytime you want to convert a String to something.&lt;br /&gt;&lt;br /&gt;I also added&lt;br /&gt;&lt;br /&gt;&lt;b&gt;StringUtils.isValid(String):boolean&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Which is a pretty simple and straightforward check.  I use it all the time to check my string values.&lt;br /&gt;It checks if a String value is not null and the length is &gt; 0.&lt;br /&gt;&lt;br /&gt;So, SennMagic 3.1 is available for download!&lt;br /&gt;&lt;br /&gt;Only one place: &lt;a href="http://sourceforge.net/projects/sennmagic"&gt;http://sourceforge.net/projects/sennmagic&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-7066514559898605280?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/7066514559898605280/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2010/01/sennmagic-31-30-fixed-extras.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/7066514559898605280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/7066514559898605280'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2010/01/sennmagic-31-30-fixed-extras.html' title='SennMagic 3.1 = 3.0 fixed + extras!'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-6643526849685814083</id><published>2010-01-25T13:25:00.001+01:00</published><updated>2010-01-25T13:28:04.412+01:00</updated><title type='text'>Bug in SennMagic 3.0</title><content type='html'>Hi,&lt;br /&gt;&lt;br /&gt;I just noticed that SennMagic 3.0 is compiled to 1.6.&lt;br /&gt;I have no idea why my Ant build decided to build it in 6 all of a sudden...&lt;br /&gt;&lt;br /&gt;I will fix this tonight when I get back from work, so expect a small update soon!&lt;br /&gt;&lt;br /&gt;My apologies,&lt;br /&gt;&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-6643526849685814083?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/6643526849685814083/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2010/01/bug-in-sennmagic-30.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/6643526849685814083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/6643526849685814083'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2010/01/bug-in-sennmagic-30.html' title='Bug in SennMagic 3.0'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-2496570010909985500</id><published>2010-01-22T22:36:00.003+01:00</published><updated>2010-01-22T22:39:42.854+01:00</updated><title type='text'>SennMagic 3.0!</title><content type='html'>Hi everybody,&lt;br /&gt;&lt;br /&gt;I know it has been a while since I last updated SennMagic, but that's because I decided to wait till I had enough new material.&lt;br /&gt;&lt;br /&gt;So here it is, the new version, and yes it's another MAJOR release.&lt;br /&gt;&lt;br /&gt;There's been some serious changes since 2.0 so I decided to bump it up to &lt;b&gt;3.0&lt;/b&gt; instead of 2.1 or whatever.&lt;br /&gt;&lt;br /&gt;So, what's new...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I changed the classnames to reflect their purpose better:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;LogMagic =&gt; SimpleLogger&lt;/li&gt;&lt;li&gt;FileMagic =&gt; FileUtils&lt;/li&gt;&lt;li&gt;TextMagic =&gt; StringUtils&lt;/li&gt;&lt;li&gt;UtilMagic =&gt; GeneralUtils&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;I added DFCUtils, which contains some handy methods for DFC actions (more info below)&lt;/li&gt;&lt;li&gt;I added ignoreCase support to StringUtils.getOccurrencesCount(...)&lt;/li&gt;&lt;li&gt;I decided to split the jar, source and javadoc into 3 packages&lt;br /&gt;&lt;ol&gt;&lt;li&gt;package: senn-magic-3.0.jar&lt;/li&gt;&lt;li&gt;source: senn-magic-3.0-src.zip&lt;/li&gt;&lt;li&gt;docs: senn-magic-3.0-javadoc.zip&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Last but no least, I refactored some methods and reformatted the code + javadoc&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;So what is &lt;b&gt;DFCUtils&lt;/b&gt;...?&lt;br /&gt;&lt;br /&gt;I've been busy doing alot of development on Documentum projects.&lt;br /&gt;Documentum is an enterprise content management platform by EMC² (www.emc.com).&lt;br /&gt;&lt;br /&gt;To access the Documentum content and metadata from Java, DFC is used.&lt;br /&gt;DFC, or Documentum Foundation Classes, is an extensive API that allows you to do almost anything in Documentum.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DFCUtils&lt;/b&gt; is a helper class that contains methods to create sessions and execute DQL (Documentum Query Language).&lt;br /&gt;So it saves me (and hopefully some other people too) some time.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So that's it, check out the new version at: http://sourceforge.net/projects/sennmagic&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-2496570010909985500?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/2496570010909985500/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2010/01/sennmagic-30.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/2496570010909985500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/2496570010909985500'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2010/01/sennmagic-30.html' title='SennMagic 3.0!'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-4524178381391085095</id><published>2009-12-09T21:50:00.003+01:00</published><updated>2009-12-10T14:09:48.887+01:00</updated><title type='text'>SennMagic 2.0!</title><content type='html'>Hello all,&lt;br /&gt;&lt;br /&gt;a new version of SennMagic has been released!&lt;br /&gt;&lt;br /&gt;BE CAREFUL, THE PACKAGES HAVE CHANGED QUITE A BIT SO IT YOU WILL NEED TO REFACTOR WHEN USING THE NEW VERSION IN AN EXISTING PROJECT (just hit Shift+Ctrl+O in Eclipse ;) )&lt;br /&gt;&lt;br /&gt;So what has changed:&lt;br /&gt;&lt;br /&gt;FileMagic and TextMagic have been moved to the com.senn.magic.&lt;b&gt;util&lt;/b&gt; package.&lt;br /&gt;LogMagic has been moved to the com.senn.magic.&lt;b&gt;logging&lt;/b&gt; package.&lt;br /&gt;&lt;br /&gt;TextMagic.split(String, String):List&lt;string&gt; has been added for completion reasons&lt;br /&gt;TextMagic.split(String, char):List&lt;string&gt; has been added for completion reasons&lt;br /&gt;&lt;br /&gt;The class &lt;b&gt;com.senn.magic.util.UtilMagic&lt;/b&gt; has been added to SennMagic.&lt;br /&gt;This class will contain all useful methods that don't belong in the specific Magic-classes.&lt;br /&gt;&lt;br /&gt;For now there only is UtilMagic.asArrayList(S[]):ArrayList&lt; S &gt;.&lt;br /&gt;&lt;br /&gt;senn-magic-2.0.jar can be downloaded from &lt;a href="http://sourceforge.net/projects/sennmagic"&gt;http://sourceforge.net/projects/sennmagic&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Bart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-4524178381391085095?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/4524178381391085095/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2009/12/sennmagic-20.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/4524178381391085095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/4524178381391085095'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2009/12/sennmagic-20.html' title='SennMagic 2.0!'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-276494579129663325</id><published>2009-11-23T20:34:00.000+01:00</published><updated>2009-11-23T20:34:28.766+01:00</updated><title type='text'>SennMagic 1.1.1</title><content type='html'>A small update has been released for SennMagic 1.1.&lt;br /&gt;&lt;br /&gt;2 methods have been hotfixed and a small typo in the javadoc was fixed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-276494579129663325?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/276494579129663325/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2009/11/sennmagic-111.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/276494579129663325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/276494579129663325'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2009/11/sennmagic-111.html' title='SennMagic 1.1.1'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-6738061145027907155</id><published>2009-11-20T18:29:00.000+01:00</published><updated>2009-11-20T18:29:51.864+01:00</updated><title type='text'>SennMagic 1.1!</title><content type='html'>Praise the Lord, SennMagic 1.1 is out!&lt;br /&gt;&lt;br /&gt;All existing classes have been given a small update and a new class is added!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;LogMagic&lt;/b&gt;: a small and easy to use logger!&lt;br /&gt;&lt;br /&gt;Be sure to check it out!&lt;br /&gt;For more info read the RELEASENOTES (included in the jar).&lt;br /&gt;&lt;br /&gt;All versions of SennMagic are on &lt;a href="http://sourceforge.net/projects/sennmagic"&gt;SourceForge.net&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'd like to thank Kevin, Frederik and Jan for hosting it while it was needed!&lt;br /&gt;For now, I'll focus on SourceForge.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-6738061145027907155?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/6738061145027907155/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2009/11/sennmagic-11.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/6738061145027907155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/6738061145027907155'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2009/11/sennmagic-11.html' title='SennMagic 1.1!'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-8767873371620088216</id><published>2009-11-17T12:00:00.000+01:00</published><updated>2009-11-17T12:02:53.729+01:00</updated><title type='text'>SennMagic on SourceForge.net</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;A project has been created on SourceForge for SennMagic.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;a href="https://sourceforge.net/projects/sennmagic/"&gt;SourceForge project&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;a href="http://sennmagic.sourceforge.net/"&gt;SourceForge main page&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-8767873371620088216?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/8767873371620088216/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2009/11/sennmagic-on-sourceforgenet.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/8767873371620088216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/8767873371620088216'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2009/11/sennmagic-on-sourceforgenet.html' title='SennMagic on SourceForge.net'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-8098803579036309381</id><published>2009-11-02T19:43:00.000+01:00</published><updated>2009-11-03T09:37:42.351+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='senn'/><category scheme='http://www.blogger.com/atom/ns#' term='sennmagic'/><category scheme='http://www.blogger.com/atom/ns#' term='magic'/><title type='text'>Current listing of SennMagic</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;com.senn.magic.TextMagic&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;backwards (String) : String&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;span style="font-family:verdana;"&gt;flips the provided string backwards&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;countChars (String) : HashMap&lt;string,&gt;&lt;br /&gt;&lt;/string,&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;count every occurence of every char in the provided string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;findOccurrences (String, String) : int&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;count how many times a certain substring exists in the provided string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;getFillerText (int) : String&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;get as many random lines as you want (easy to fill a gui to see if it works correctly with alot of text)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;invertUpperCaseLowerCase (String) : String&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;switch all uppercase characters to lowercase and vice versa&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;split (String, char[]) : List&lt;string&gt;&lt;br /&gt;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;split a string with more than one separator at once&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;split (String, String[]) : List&lt;string&gt;&lt;br /&gt;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;split a string with more than one separator at once&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;split (String, List&lt;string&gt;) : List&lt;string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;split a string with more than one separator at once&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;com.senn.magic.FileMagic&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;copyFile (File, File) : void&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;copy a file to another location&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;getBytesFromFile (File) : byte[]&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;get the byte-array from a file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;getDirectoryFromFileName (String) : String&lt;/span&gt;&lt;br /&gt;get the name of the directoey from a filename&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;getExtension (File) : String&lt;/span&gt;&lt;br /&gt;get the extension of a file&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;getExtension (String) : String&lt;/span&gt;&lt;br /&gt;get the extension of a file&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;getFileName (String) : String&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;get the name of a file without the extension&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;getFilesInFolder (File, boolean, boolean) : List&lt;file&gt;&lt;br /&gt;&lt;/file&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;get all files from a folder&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;getFilesInFolder (String, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;boolean, boolean) : List&lt;file&gt;&lt;br /&gt;&lt;/file&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;get all files from a folder&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;getFilesInFolderByExtension (File&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;, String, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;boolean, boolean) : List&lt;file&gt;&lt;br /&gt;&lt;/file&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;get all files from a folder filtered by extension&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;getFilesInFolderByExtension (String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;, String, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;boolean, boolean) : List&lt;file&gt;&lt;br /&gt;&lt;/file&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;get all files from a folder filtered by extension&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;getParentFolderName (File) : String&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;get the name of the parent directory&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;moveFile (File, File) : void&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;move a file to another location&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;renameFile (File, String) : String&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;rename a file&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;If you have any remarks or suggestions, feel free to contact me!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-8098803579036309381?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/8098803579036309381/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2009/11/current-listing-of-sennmagic.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/8098803579036309381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/8098803579036309381'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2009/11/current-listing-of-sennmagic.html' title='Current listing of SennMagic'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1911532913300066042.post-311400584504393410</id><published>2009-11-02T19:35:00.000+01:00</published><updated>2009-11-04T22:38:36.526+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='senn'/><category scheme='http://www.blogger.com/atom/ns#' term='utilities'/><category scheme='http://www.blogger.com/atom/ns#' term='sennmagic'/><category scheme='http://www.blogger.com/atom/ns#' term='magic'/><title type='text'>SennMagic launched</title><content type='html'>&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: verdana;"&gt;Hello all,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-size: 85%;"&gt;the first version of &lt;span style="font-weight: bold;"&gt;SennMagic&lt;/span&gt; has just been released (senn-magic-1.0.jar).&lt;br /&gt;&lt;br /&gt;Now what is SennMagic..?&lt;br /&gt;&lt;br /&gt;SennMagic is a bundle of utilities to facilitate some actions.&lt;br /&gt;Currently it's just for Text- and File-actions.  In the future it will most likely expand.&lt;br /&gt;&lt;br /&gt;SennMagic is free to use under certain conditions.&lt;br /&gt;Read the License Agreement for more info.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-size: 85%;"&gt;D&lt;span style="color: black;"&gt;ownload the jar here: &lt;/span&gt;&lt;br style="color: black;" /&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="color: black;"&gt;&lt;span style="font-family: verdana; font-size: 85%;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: verdana;"&gt;---------------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;a href="http://www.voltje.be/stuff/senn-magic-1.0.jar"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;www.voltje.be/stuff/senn-magic-1.0.jar&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;thanks to Frederik 'voltje'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: verdana;"&gt;---------------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;&lt;a href="http://kevinvandyck.110mb.com/senn-magic-1.0.jar" onmousedown="UntrustedLink.bootstrap($(this), &amp;quot;fbb157e968e7715af68ea0c67181e690&amp;quot;, event)" rel="nofollow" style="color: black; font-family: Verdana,sans-serif;" target="_blank"&gt;http://kevinvandyck.110mb.&lt;wbr&gt;&lt;/wbr&gt;com/senn-magic-1.0.jar&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana,sans-serif; font-size: x-small;"&gt;thanks to Kevin Van Dyck &lt;/span&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana; font-size: 85%;"&gt;&lt;br /&gt;&lt;br /&gt;Greetings,&lt;br /&gt;Bart&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1911532913300066042-311400584504393410?l=senn-magic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://senn-magic.blogspot.com/feeds/311400584504393410/comments/default' title='Reacties plaatsen'/><link rel='replies' type='text/html' href='http://senn-magic.blogspot.com/2009/11/sennmagic-launched.html#comment-form' title='0 reacties'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/311400584504393410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1911532913300066042/posts/default/311400584504393410'/><link rel='alternate' type='text/html' href='http://senn-magic.blogspot.com/2009/11/sennmagic-launched.html' title='SennMagic launched'/><author><name>Bart</name><uri>http://www.blogger.com/profile/15960253051486911605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_4cTWa1RYBik/Su86SlAUPYI/AAAAAAAAAAM/9BvMTAgpYGM/s1600-R/28649375.jpg'/></author><thr:total>0</thr:total></entry></feed>
