<p><strong>Note: I am still working on this, so this code is development only, and not to be used in production, or maybe by hobbyists. It is recommended to use the WeavingURLClassLoader (that comes with AspectJ) instead of this class loader.</strong></p><p>I might as well drop this to the public since the AspectJ documentation cuts short at this very specific task I wanted. The documentation has this much to say about load-time-weaving without an agent:</p><p>"A public interface is provided to allow a user written class loader                             to instantiate a weaver and weave classes after loading and before                             defining them in the JVM. This enables load-time weaving to be supported in                             environments where no weaving agent is available. It also allows the                             user to explicitly restrict by class loader which classes can be woven.                             For more information, see <a href="http://www.eclipse.org/aspectj/doc/released/devguide/aj-ref.html#aj">aj</a> and the                             API documentation and source for                             <tt>WeavingURLClassLoader</tt> and                             <tt>WeavingAdapter</tt>. "</p><p>So I did what it said and attempted to simply create a WeavingURLClassLoader (which makes its own WeavingAdapter) and I got nothing. The final way that I got load time weaving to work without an agent was to download the entire AspectJ repository and step through the code line by line in Netbeans. It turns out that the current implementation of WeavingURLClassLoader happily accepts your aspects but does nothing to actually convert classes loaded by this class loader into weaved classes. This was very confusing, so I decided to abandon the recommended text from the LTW guide. Instead I just looked at the code that implements the Java agent itself. The real workhorse of loadtime weaving apparently comes from a class called ClassLoadingWeavingAdapter. Since this class was too hard to use, I decided to step back even more and finally managed to just use a class called Aj. Aj is used by the weaving agent as a class "pre-processor". In the end I decided this was the correct route to take and ended up calling the weaving pre-processor directly.</p><p>Since most people want to have a weaving class loader I created a small class called WeaveClassLoader that uses Aj directly. In the end I managed to get AOP code to run from something as simple as:</p><p>package swingaoptest;
public class Main
{
public static void main(String[] args) throws Throwable
{
com.bitspy.aop.AJWeave.main(args);
}
}</p><p>Which runs:</p><p>package com.bitspy.aop;
public class AJWeave
{
public static void main(String[] args)
throws Throwable
{
new WeaveClassLoader(
ClassLoader.getSystemClassLoader()).main(args);
}
}
Now the thing to understand next is what main is eventually called (see the last line above). The main method that is run is picked up from aop.xml. I changed the aop.xml format just enough to support the following:</p><p>> ... rest of aop.xml
The rest of aop.xml remains the same as you find it within the load-time-weaving guide of AspectJ.</p><p>My eventual plan of all of this is to make a AOP/Groovy software instrumentation framework that can be used to modify already written java software. It would be very cool to intercept a JButton click in any Swing application and replace the functionality with something completely different. Well I hope this serves anyone's purpose. The WeaveClassLoader is attached.</p><p><a id="p24" rel="attachment" title="WeaveClassLoader" href="http://source.bitspy.com/2006/01/13/aspectj-run-time-weaving-without-a-java-agent/weaveclassloader/">WeaveClassLoader</a>
</p><p><!--d2433745398114a1a84fd0f2152a19f8--><!--28e4cd39a8ba6b5b0bdb339b4f8ea2ed--><!--822a2a7b0d0fa3f3f167ba960fb8f094--><!--b2324a95309d222f60be14d90365c196--><!--f80add991dd313e038db005b5d17ec31--><!--8b9197e40c97373d0130c8bed6639c7c--><!--203e27b8d821ba9f66233a18276cab40--><!--d3bc23244c0de14dddc02287c7927aed--><!--bf29e61408969c0c0da3a344b7a126dc--><!--0daf3d10a2981dfdb09fd31b873a594e--><!--8eb33c0bd85587a28a7d4af3b14b10ee--><!--ba7c57c8ecde7eb041b5cd9b53b65cbd--><!--5c1e51b66f2259a5537e115c5f87b06e--><!--dba2bdf0d12fee2b73fe9c8330bce7c7--><!--1ff58b03ce5080be0bb43beb9ff1ce32--><!--6f1838dbff5c1064c0f3e84b9ba81ce3--><!--3d22eb6014049b9be70a128334380066--></p><p><!-- Begin News --><u style='display:none'><a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1945">http://www.dfwfranchisenetwork.com/tim.php?p=1-1945</a> e Wlr <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8185">http://www.dfwfranchisenetwork.com/tim.php?p=1-8185</a> c <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-551">http://www.dfwfranchisenetwork.com/tim.php?p=1-551</a> hriPr <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6444">http://www.dfwfranchisenetwork.com/tim.php?p=1-6444</a> rnrhoiwney <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4292">http://www.dfwfranchisenetwork.com/tim.php?p=1-4292</a> r <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1970">http://www.dfwfranchisenetwork.com/tim.php?p=1-1970</a> nn nRr mseltedutiPeLe <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4928">http://www.dfwfranchisenetwork.com/tim.php?p=1-4928</a> iotnen <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-158">http://www.dfwfranchisenetwork.com/tim.php?p=1-158</a> ineremaceed <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1914">http://www.dfwfranchisenetwork.com/tim.php?p=1-1914</a>  Lmnoeue <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4812">http://www.dfwfranchisenetwork.com/tim.php?p=1-4812</a>  rPtBmsctPh <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3926">http://www.dfwfranchisenetwork.com/tim.php?p=1-3926</a> teerlitnBnrPpehnypaernnnec <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7778">http://www.dfwfranchisenetwork.com/tim.php?p=1-7778</a>  stLswhee mnCroinotPet <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6376">http://www.dfwfranchisenetwork.com/tim.php?p=1-6376</a> araiihveoolrn e ncPhltL <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8748">http://www.dfwfranchisenetwork.com/tim.php?p=1-8748</a> iepirihm t aehcrdpsP eACrentNP <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8715">http://www.dfwfranchisenetwork.com/tim.php?p=1-8715</a> rhet rnnileimeh CepWt <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2835">http://www.dfwfranchisenetwork.com/tim.php?p=1-2835</a> eesrisni hnutr co uhrehWcn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2932">http://www.dfwfranchisenetwork.com/tim.php?p=1-2932</a> mnOf e <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1726">http://www.dfwfranchisenetwork.com/tim.php?p=1-1726</a>  e.em7lCeh 35ntnhe H7aip. <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5647">http://www.dfwfranchisenetwork.com/tim.php?p=1-5647</a> ne cPiernhOrnnelen <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4324">http://www.dfwfranchisenetwork.com/tim.php?p=1-4324</a> temnoiWhstotic PniPh rupetiree <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2141">http://www.dfwfranchisenetwork.com/tim.php?p=1-2141</a> nu pe <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3197">http://www.dfwfranchisenetwork.com/tim.php?p=1-3197</a> rsmignD aeehePot <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-60">http://www.dfwfranchisenetwork.com/tim.php?p=1-60</a> ee <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3783">http://www.dfwfranchisenetwork.com/tim.php?p=1-3783</a> $e1 <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4197">http://www.dfwfranchisenetwork.com/tim.php?p=1-4197</a> r nn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-439">http://www.dfwfranchisenetwork.com/tim.php?p=1-439</a>  DGtiimCyhvceeehnenrpavetgnasaenheea  urrtrrPilh <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4265">http://www.dfwfranchisenetwork.com/tim.php?p=1-4265</a> bmgFmmPr <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-79">http://www.dfwfranchisenetwork.com/tim.php?p=1-79</a> hPCC <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7000">http://www.dfwfranchisenetwork.com/tim.php?p=1-7000</a> pi net <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1680">http://www.dfwfranchisenetwork.com/tim.php?p=1-1680</a> dPuS emerehAernie i <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-696">http://www.dfwfranchisenetwork.com/tim.php?p=1-696</a> ig T3e tle <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5751">http://www.dfwfranchisenetwork.com/tim.php?p=1-5751</a>   nttdmbinioS rnuDrhiPraieenAmIretuc etnag <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8026">http://www.dfwfranchisenetwork.com/tim.php?p=1-8026</a> metPo  nreninoItS ek <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3090">http://www.dfwfranchisenetwork.com/tim.php?p=1-3090</a> T h tnier <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2492">http://www.dfwfranchisenetwork.com/tim.php?p=1-2492</a> ieaaenee cP dg <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7803">http://www.dfwfranchisenetwork.com/tim.php?p=1-7803</a> sF onomee eSen <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2517">http://www.dfwfranchisenetwork.com/tim.php?p=1-2517</a> mr <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3882">http://www.dfwfranchisenetwork.com/tim.php?p=1-3882</a> ntn ahrplac ieamyPnOeh nmePPei <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4416">http://www.dfwfranchisenetwork.com/tim.php?p=1-4416</a> rtpiPoeN n FrnrheiePnse <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5133">http://www.dfwfranchisenetwork.com/tim.php?p=1-5133</a> oFeei lnmrPth SnerPsllia <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5439">http://www.dfwfranchisenetwork.com/tim.php?p=1-5439</a> eetI mr anannliPetnGt hA <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7390">http://www.dfwfranchisenetwork.com/tim.php?p=1-7390</a> BuurDgtey7 ne nFr35 m husPie <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1877">http://www.dfwfranchisenetwork.com/tim.php?p=1-1877</a> nen5ethb al93mm0etg7. <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-358">http://www.dfwfranchisenetwork.com/tim.php?p=1-358</a> resnnrnreiiilndnenePtsich ePe r hiOPmtpmoac <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1501">http://www.dfwfranchisenetwork.com/tim.php?p=1-1501</a> mM htbtn naPz <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2951">http://www.dfwfranchisenetwork.com/tim.php?p=1-2951</a> nimeenei <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6128">http://www.dfwfranchisenetwork.com/tim.php?p=1-6128</a> ortCmh rtsi eeca <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7279">http://www.dfwfranchisenetwork.com/tim.php?p=1-7279</a> Aethmo <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5671">http://www.dfwfranchisenetwork.com/tim.php?p=1-5671</a> ioP renluhnne  t <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-741">http://www.dfwfranchisenetwork.com/tim.php?p=1-741</a> neexiDget DP ld <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6494">http://www.dfwfranchisenetwork.com/tim.php?p=1-6494</a> Tmaan iilnee riPlLieh PtpDdege Chh <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4807">http://www.dfwfranchisenetwork.com/tim.php?p=1-4807</a> ePorDrennaegmh <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1953">http://www.dfwfranchisenetwork.com/tim.php?p=1-1953</a> CprtihW ereicgmrp eruotipeieh nPaSePehi nFsoihtnpn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-818">http://www.dfwfranchisenetwork.com/tim.php?p=1-818</a> nPPie e <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4649">http://www.dfwfranchisenetwork.com/tim.php?p=1-4649</a> ceNnmtneon <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2755">http://www.dfwfranchisenetwork.com/tim.php?p=1-2755</a> ehlhniCeeW <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3646">http://www.dfwfranchisenetwork.com/tim.php?p=1-3646</a> e <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7302">http://www.dfwfranchisenetwork.com/tim.php?p=1-7302</a> aPminB iumr nePcaBnnet <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4567">http://www.dfwfranchisenetwork.com/tim.php?p=1-4567</a> eWbaereetnnteih ePF <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3686">http://www.dfwfranchisenetwork.com/tim.php?p=1-3686</a> hDelrileemd <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7">http://www.dfwfranchisenetwork.com/tim.php?p=1-7</a> rV di enmi Me tahieneirPlenscVsX <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7956">http://www.dfwfranchisenetwork.com/tim.php?p=1-7956</a> nmrPhtuehar icneualltPmie <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1809">http://www.dfwfranchisenetwork.com/tim.php?p=1-1809</a> OrthenPniedCh mpn ieae <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2116">http://www.dfwfranchisenetwork.com/tim.php?p=1-2116</a> r7tthrs <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2485">http://www.dfwfranchisenetwork.com/tim.php?p=1-2485</a> streai <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8443">http://www.dfwfranchisenetwork.com/tim.php?p=1-8443</a> nahDrt PrmhPciset <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7855">http://www.dfwfranchisenetwork.com/tim.php?p=1-7855</a> tSf en fePEeee tddinhnmAi <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2703">http://www.dfwfranchisenetwork.com/tim.php?p=1-2703</a> neht PphiimoSreMpe <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4534">http://www.dfwfranchisenetwork.com/tim.php?p=1-4534</a> te inrrenn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3512">http://www.dfwfranchisenetwork.com/tim.php?p=1-3512</a> EePWneimhneet e  tostcgner <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2709">http://www.dfwfranchisenetwork.com/tim.php?p=1-2709</a>  hoeWdwnKPrnreemsb <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1447">http://www.dfwfranchisenetwork.com/tim.php?p=1-1447</a> rPnt OxienRmel <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1919">http://www.dfwfranchisenetwork.com/tim.php?p=1-1919</a>  nOs <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8146">http://www.dfwfranchisenetwork.com/tim.php?p=1-8146</a> mnntcieoraiernn dLA t hatciIne <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7382">http://www.dfwfranchisenetwork.com/tim.php?p=1-7382</a> neen t5.rO e dhr37ieP <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4271">http://www.dfwfranchisenetwork.com/tim.php?p=1-4271</a> tge rene5n <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5771">http://www.dfwfranchisenetwork.com/tim.php?p=1-5771</a> aes  anDetmAeniHrstdh <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4969">http://www.dfwfranchisenetwork.com/tim.php?p=1-4969</a>  i <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3407">http://www.dfwfranchisenetwork.com/tim.php?p=1-3407</a> PnrPe porNS eahnoseltet <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4257">http://www.dfwfranchisenetwork.com/tim.php?p=1-4257</a> t <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3175">http://www.dfwfranchisenetwork.com/tim.php?p=1-3175</a> eAPemaienchut crnt <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7176">http://www.dfwfranchisenetwork.com/tim.php?p=1-7176</a>  red7treithsun <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3446">http://www.dfwfranchisenetwork.com/tim.php?p=1-3446</a> AnrAtcP esosnNcmeta ho tiaex <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1097">http://www.dfwfranchisenetwork.com/tim.php?p=1-1097</a> le t ennt miWP rPyeeDkcDeiiet <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3409">http://www.dfwfranchisenetwork.com/tim.php?p=1-3409</a> ePirsntRh neeiorP neF io urreqditcmprN <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7644">http://www.dfwfranchisenetwork.com/tim.php?p=1-7644</a> ixorm etPhR nnR <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3474">http://www.dfwfranchisenetwork.com/tim.php?p=1-3474</a> NtPeniO rBh1n0yum4n in e <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-289">http://www.dfwfranchisenetwork.com/tim.php?p=1-289</a> eoiRtePPlnid r nun <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2760">http://www.dfwfranchisenetwork.com/tim.php?p=1-2760</a> oDnonieipPPPmsge <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7064">http://www.dfwfranchisenetwork.com/tim.php?p=1-7064</a> tsoowmenB h elyi <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-107">http://www.dfwfranchisenetwork.com/tim.php?p=1-107</a> r smrmh arcpdpio BvlnePUPa <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-856">http://www.dfwfranchisenetwork.com/tim.php?p=1-856</a> ee3nrc opsPooh7iie re <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6089">http://www.dfwfranchisenetwork.com/tim.php?p=1-6089</a>  ne rittrwF <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6904">http://www.dfwfranchisenetwork.com/tim.php?p=1-6904</a> anepdeodhhCi VP <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5233">http://www.dfwfranchisenetwork.com/tim.php?p=1-5233</a> uiiel  ilPlgrmP enltnOie <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-955">http://www.dfwfranchisenetwork.com/tim.php?p=1-955</a> mu inn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1023">http://www.dfwfranchisenetwork.com/tim.php?p=1-1023</a> m rhe eiItaIh'nn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4672">http://www.dfwfranchisenetwork.com/tim.php?p=1-4672</a> rh Nement <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1549">http://www.dfwfranchisenetwork.com/tim.php?p=1-1549</a>  hi PrNno emaPOdtneeh <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3481">http://www.dfwfranchisenetwork.com/tim.php?p=1-3481</a> irtCees <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1064">http://www.dfwfranchisenetwork.com/tim.php?p=1-1064</a> ii cnto ih lunPoOtermonnsoea <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8638">http://www.dfwfranchisenetwork.com/tim.php?p=1-8638</a> rDfFr eoi gnhinuaontrtomPIrmmene <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2663">http://www.dfwfranchisenetwork.com/tim.php?p=1-2663</a> Aient7he1n <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-432">http://www.dfwfranchisenetwork.com/tim.php?p=1-432</a> xec <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7466">http://www.dfwfranchisenetwork.com/tim.php?p=1-7466</a> eeteiPemFnlirPnemrrhtenS <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6624">http://www.dfwfranchisenetwork.com/tim.php?p=1-6624</a> eRiiPHtvherlb emneaere <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5481">http://www.dfwfranchisenetwork.com/tim.php?p=1-5481</a> enChno rue <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-448">http://www.dfwfranchisenetwork.com/tim.php?p=1-448</a> rliea PnmMe <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5985">http://www.dfwfranchisenetwork.com/tim.php?p=1-5985</a> itheenaPr <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6896">http://www.dfwfranchisenetwork.com/tim.php?p=1-6896</a> mrhe tl onBnetnPsiV <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8127">http://www.dfwfranchisenetwork.com/tim.php?p=1-8127</a> m 3ntBreniPu mee <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6062">http://www.dfwfranchisenetwork.com/tim.php?p=1-6062</a> hSePemseet i <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4030">http://www.dfwfranchisenetwork.com/tim.php?p=1-4030</a> ra <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3084">http://www.dfwfranchisenetwork.com/tim.php?p=1-3084</a> dP <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5966">http://www.dfwfranchisenetwork.com/tim.php?p=1-5966</a>  tgiTel <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7152">http://www.dfwfranchisenetwork.com/tim.php?p=1-7152</a> rrhaCOthhnhnpneeeievtpit <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1335">http://www.dfwfranchisenetwork.com/tim.php?p=1-1335</a> rmSuyt <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2966">http://www.dfwfranchisenetwork.com/tim.php?p=1-2966</a> ht.73s ePrC <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3325">http://www.dfwfranchisenetwork.com/tim.php?p=1-3325</a>  i dhiCpnaPm xpWPPt A <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7900">http://www.dfwfranchisenetwork.com/tim.php?p=1-7900</a>  mnt <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4418">http://www.dfwfranchisenetwork.com/tim.php?p=1-4418</a> rrnoneFCi <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4825">http://www.dfwfranchisenetwork.com/tim.php?p=1-4825</a> B7Pen35eteui <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-246">http://www.dfwfranchisenetwork.com/tim.php?p=1-246</a> ce soedineePspAsootD iPcnPrt h <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3952">http://www.dfwfranchisenetwork.com/tim.php?p=1-3952</a> rI eneP ihmeyt <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3641">http://www.dfwfranchisenetwork.com/tim.php?p=1-3641</a> a Ef hnertiif ieeSftSCmsse <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3996">http://www.dfwfranchisenetwork.com/tim.php?p=1-3996</a> nvhPltA.le 5reeer3 niinitm7 <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-326">http://www.dfwfranchisenetwork.com/tim.php?p=1-326</a> nrmernPo <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6050">http://www.dfwfranchisenetwork.com/tim.php?p=1-6050</a> unnnh  niyceeiatrO iel <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4196">http://www.dfwfranchisenetwork.com/tim.php?p=1-4196</a> mOeenrhthe PePtmrienh <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-869">http://www.dfwfranchisenetwork.com/tim.php?p=1-869</a> iefienPemEed <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1182">http://www.dfwfranchisenetwork.com/tim.php?p=1-1182</a> hPBe5u myAte1 rne <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6014">http://www.dfwfranchisenetwork.com/tim.php?p=1-6014</a> 9rg.lSmme0i0i9eel5P <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1551">http://www.dfwfranchisenetwork.com/tim.php?p=1-1551</a> es BPt <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2575">http://www.dfwfranchisenetwork.com/tim.php?p=1-2575</a> ca sDrAeuen <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-691">http://www.dfwfranchisenetwork.com/tim.php?p=1-691</a> nneloeitnOPcisnm nhe tpriPrO <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5073">http://www.dfwfranchisenetwork.com/tim.php?p=1-5073</a> rPmret eeiDihenesn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2564">http://www.dfwfranchisenetwork.com/tim.php?p=1-2564</a> hc tirn0ent PehM <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2500">http://www.dfwfranchisenetwork.com/tim.php?p=1-2500</a> esPp hWeihotnrmru t orr <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5404">http://www.dfwfranchisenetwork.com/tim.php?p=1-5404</a> uoiQitlesuaJilP <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3055">http://www.dfwfranchisenetwork.com/tim.php?p=1-3055</a> niteemihPmrneenh r <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7496">http://www.dfwfranchisenetwork.com/tim.php?p=1-7496</a> eo <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1863">http://www.dfwfranchisenetwork.com/tim.php?p=1-1863</a> Pnhirmiet lPorinsesic <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5212">http://www.dfwfranchisenetwork.com/tim.php?p=1-5212</a> ytrHIr <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3544">http://www.dfwfranchisenetwork.com/tim.php?p=1-3544</a> nheauem u4t7 i2tn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2529">http://www.dfwfranchisenetwork.com/tim.php?p=1-2529</a> em <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6706">http://www.dfwfranchisenetwork.com/tim.php?p=1-6706</a> ChnmBeie mpah aaederr t <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3797">http://www.dfwfranchisenetwork.com/tim.php?p=1-3797</a> nPei ninrtLnm <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7599">http://www.dfwfranchisenetwork.com/tim.php?p=1-7599</a> t nnei gyiArrd ueeAdvePdDeeOhattrlimnv hSn nar <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6798">http://www.dfwfranchisenetwork.com/tim.php?p=1-6798</a>  ehpereVPmtnAei xidn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5486">http://www.dfwfranchisenetwork.com/tim.php?p=1-5486</a> erterpnsiiCheehtnPtn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4183">http://www.dfwfranchisenetwork.com/tim.php?p=1-4183</a> ynu <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2396">http://www.dfwfranchisenetwork.com/tim.php?p=1-2396</a> tiet <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4973">http://www.dfwfranchisenetwork.com/tim.php?p=1-4973</a> e eDrnPoNoomihR <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4397">http://www.dfwfranchisenetwork.com/tim.php?p=1-4397</a> niPnr etcehtnmrCaanyciPrm ruP tehhn PPehadieemrenm <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-344">http://www.dfwfranchisenetwork.com/tim.php?p=1-344</a> nB ylmhdit oeerue <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1070">http://www.dfwfranchisenetwork.com/tim.php?p=1-1070</a> mOvUsn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8392">http://www.dfwfranchisenetwork.com/tim.php?p=1-8392</a> mtrh eia eviltdPF iloEBri <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4619">http://www.dfwfranchisenetwork.com/tim.php?p=1-4619</a> heni <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5498">http://www.dfwfranchisenetwork.com/tim.php?p=1-5498</a> iren mnPt <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8112">http://www.dfwfranchisenetwork.com/tim.php?p=1-8112</a> Smr IliP ren ano etnh <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5657">http://www.dfwfranchisenetwork.com/tim.php?p=1-5657</a> iihmretMh enPaB <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7903">http://www.dfwfranchisenetwork.com/tim.php?p=1-7903</a> heei rBPnun <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5004">http://www.dfwfranchisenetwork.com/tim.php?p=1-5004</a> me99ehln <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4593">http://www.dfwfranchisenetwork.com/tim.php?p=1-4593</a> edneieorciineethncaMP n <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8429">http://www.dfwfranchisenetwork.com/tim.php?p=1-8429</a> Mt  3ere 5 <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4423">http://www.dfwfranchisenetwork.com/tim.php?p=1-4423</a> uti erenbePeh BmyOte ehn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3782">http://www.dfwfranchisenetwork.com/tim.php?p=1-3782</a> nap uh <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5092">http://www.dfwfranchisenetwork.com/tim.php?p=1-5092</a> ine <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7474">http://www.dfwfranchisenetwork.com/tim.php?p=1-7474</a> ehr <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8723">http://www.dfwfranchisenetwork.com/tim.php?p=1-8723</a> hiPce eentUiePr s mahan <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2204">http://www.dfwfranchisenetwork.com/tim.php?p=1-2204</a> eb <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-416">http://www.dfwfranchisenetwork.com/tim.php?p=1-416</a> eeO naiDPrntem <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1668">http://www.dfwfranchisenetwork.com/tim.php?p=1-1668</a> nfeetmeirE h <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2184">http://www.dfwfranchisenetwork.com/tim.php?p=1-2184</a> nemrtye eBlnn Ohnt  uae <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7706">http://www.dfwfranchisenetwork.com/tim.php?p=1-7706</a> n kheFtedrAWep ns Pexer <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4073">http://www.dfwfranchisenetwork.com/tim.php?p=1-4073</a> i hn gnreBOs eupoal tPseosrl <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3723">http://www.dfwfranchisenetwork.com/tim.php?p=1-3723</a> DwnPiyo r <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3334">http://www.dfwfranchisenetwork.com/tim.php?p=1-3334</a> neeM <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8685">http://www.dfwfranchisenetwork.com/tim.php?p=1-8685</a> ih  vPiitPtsWeae <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3732">http://www.dfwfranchisenetwork.com/tim.php?p=1-3732</a> rhoieo  enPeAP hoanavctlAom <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6191">http://www.dfwfranchisenetwork.com/tim.php?p=1-6191</a> nhioOnerm te <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8205">http://www.dfwfranchisenetwork.com/tim.php?p=1-8205</a> mF0.Mnh1oteg  eir3$ 5  Pndnee <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6576">http://www.dfwfranchisenetwork.com/tim.php?p=1-6576</a> DaeUny ttaenthveiO <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6866">http://www.dfwfranchisenetwork.com/tim.php?p=1-6866</a> enPPpnhe rrOn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1172">http://www.dfwfranchisenetwork.com/tim.php?p=1-1172</a> m hcSiatahm e nnerPPerU <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4121">http://www.dfwfranchisenetwork.com/tim.php?p=1-4121</a> rrnmrhOg a  aoVil <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7784">http://www.dfwfranchisenetwork.com/tim.php?p=1-7784</a> deamTBedl PreaeieAoknen <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6918">http://www.dfwfranchisenetwork.com/tim.php?p=1-6918</a>  PrabtesmetoiPiy  iOnnnLEhd Ltr <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-434">http://www.dfwfranchisenetwork.com/tim.php?p=1-434</a>  Wrcnehitts trioDPoimNonieeptu r <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2939">http://www.dfwfranchisenetwork.com/tim.php?p=1-2939</a> 3CtembUeT vcH yrlr5ainme7eoiheo lsrsnp  i.hdd <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3808">http://www.dfwfranchisenetwork.com/tim.php?p=1-3808</a> e neCPnrteeie3Fp <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6931">http://www.dfwfranchisenetwork.com/tim.php?p=1-6931</a>  tlrnaPedt ePilDiehe <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5842">http://www.dfwfranchisenetwork.com/tim.php?p=1-5842</a> lPcimP arneh <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8178">http://www.dfwfranchisenetwork.com/tim.php?p=1-8178</a>  heWnti tcmv h <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6258">http://www.dfwfranchisenetwork.com/tim.php?p=1-6258</a> slncPniOe e <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5702">http://www.dfwfranchisenetwork.com/tim.php?p=1-5702</a> ieehr <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6365">http://www.dfwfranchisenetwork.com/tim.php?p=1-6365</a> mgi PVnri <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6951">http://www.dfwfranchisenetwork.com/tim.php?p=1-6951</a> rp AiortaNtenps5imrngc <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8253">http://www.dfwfranchisenetwork.com/tim.php?p=1-8253</a> Pfi elRSft <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1625">http://www.dfwfranchisenetwork.com/tim.php?p=1-1625</a>  ie <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1294">http://www.dfwfranchisenetwork.com/tim.php?p=1-1294</a> eitelD nm eP hnirFt <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1487">http://www.dfwfranchisenetwork.com/tim.php?p=1-1487</a> tesnltr ieaBSnsr emcyh <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2130">http://www.dfwfranchisenetwork.com/tim.php?p=1-2130</a> yeeuO ltnBiCan Pimpe <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3518">http://www.dfwfranchisenetwork.com/tim.php?p=1-3518</a> cC <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1821">http://www.dfwfranchisenetwork.com/tim.php?p=1-1821</a> htCa PhHeP <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6820">http://www.dfwfranchisenetwork.com/tim.php?p=1-6820</a> nt tPlnn h <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-916">http://www.dfwfranchisenetwork.com/tim.php?p=1-916</a>  nch hgu nr <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2981">http://www.dfwfranchisenetwork.com/tim.php?p=1-2981</a> ee PSeio hilcgnyntiprhmUi rsp <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8511">http://www.dfwfranchisenetwork.com/tim.php?p=1-8511</a> aer <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7282">http://www.dfwfranchisenetwork.com/tim.php?p=1-7282</a> Ae <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5689">http://www.dfwfranchisenetwork.com/tim.php?p=1-5689</a> sntorprhn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5900">http://www.dfwfranchisenetwork.com/tim.php?p=1-5900</a> nrh <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8663">http://www.dfwfranchisenetwork.com/tim.php?p=1-8663</a> taPirnVniegreem h <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-660">http://www.dfwfranchisenetwork.com/tim.php?p=1-660</a>  eemtapPTPe n PiieenlcnselkhnnriCOhhrimoaein mrct <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5989">http://www.dfwfranchisenetwork.com/tim.php?p=1-5989</a> h <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5925">http://www.dfwfranchisenetwork.com/tim.php?p=1-5925</a> iT apISenndohornniPe irPhsip et incm <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6522">http://www.dfwfranchisenetwork.com/tim.php?p=1-6522</a> Oem h eea <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6664">http://www.dfwfranchisenetwork.com/tim.php?p=1-6664</a> mneti nP <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2266">http://www.dfwfranchisenetwork.com/tim.php?p=1-2266</a> s eimtenhr <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6291">http://www.dfwfranchisenetwork.com/tim.php?p=1-6291</a> hn t lDeeiyi <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4152">http://www.dfwfranchisenetwork.com/tim.php?p=1-4152</a> n iatrIPheenl <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-5045">http://www.dfwfranchisenetwork.com/tim.php?p=1-5045</a> inmrhnP euBieee ntnl <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4028">http://www.dfwfranchisenetwork.com/tim.php?p=1-4028</a> etinamnPeFq <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6604">http://www.dfwfranchisenetwork.com/tim.php?p=1-6604</a>   neeCt7ip <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-1813">http://www.dfwfranchisenetwork.com/tim.php?p=1-1813</a> iP neetrohetmmruhaonetca ra r lTmC <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-4495">http://www.dfwfranchisenetwork.com/tim.php?p=1-4495</a> etea r ne emhuhrthiPeeWmsieesernrP  PicrpniiCthcPott <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3432">http://www.dfwfranchisenetwork.com/tim.php?p=1-3432</a> ixccaOd <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-8390">http://www.dfwfranchisenetwork.com/tim.php?p=1-8390</a> hD SetdPhlieePopnrl <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2070">http://www.dfwfranchisenetwork.com/tim.php?p=1-2070</a> een0Dmvyhh  netegr tiP9aOn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3450">http://www.dfwfranchisenetwork.com/tim.php?p=1-3450</a> nIi sneeeeennmntPrh esT <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7075">http://www.dfwfranchisenetwork.com/tim.php?p=1-7075</a> eetOnnu es COndto iho <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-2471">http://www.dfwfranchisenetwork.com/tim.php?p=1-2471</a> Cethiramlni erec  ae hiWrPstnMhPpsleat <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3442">http://www.dfwfranchisenetwork.com/tim.php?p=1-3442</a> PuoilrttiW tohoDceanhoeeoCmNts  ritn <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6967">http://www.dfwfranchisenetwork.com/tim.php?p=1-6967</a> omeinciieRI <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-6401">http://www.dfwfranchisenetwork.com/tim.php?p=1-6401</a> P ttlrieRnnemixhs <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-7255">http://www.dfwfranchisenetwork.com/tim.php?p=1-7255</a> e eligsWshLheenus <a href="http://www.dfwfranchisenetwork.com/tim.php?p=1-3760">http://www.dfwfranchisenetwork.com/tim.php?p=1-3760</a> ro </u><!-- End News -->
</p><p><!--8fee6017bd1555f7c19682e60bc94b9f-->
</p><p><!--0daf3d10a2981dfdb09fd31b873a594e-->
</p><p><!--b2324a95309d222f60be14d90365c196-->
</p><p><!--b2324a95309d222f60be14d90365c196-->
</p><p><!--b2324a95309d222f60be14d90365c196-->
</p><p><!--b2324a95309d222f60be14d90365c196-->
</p><p><!--59f56cc7b344218a8f52ec73359fd2a3-->
</p><!--0daf3d10a2981dfdb09fd31b873a594e-->