Refactor
:my
=>
'code'
Codes
Refactorings
Popular
Best
Submit
Spam
Account
Logout
Login
JavaScript doesn't seem to be activated, expect things to be ugly and sloppy!
More Jobs
Recent
Think this needs a loop
sort_by_multiple
Prepare links - friendly URLs
Rails Active Record Time Summary
Experimental Prime Number Generator
Pythonify my code
DVD Directory Archiver
Raytracer in haskell
Cryptography with MD5
Experimental Prime Number Generator
Popular
sort_by_multiple
Think this needs a loop
Prepare links - friendly URLs
Cryptography with MD5
Rails Active Record Time Summary
Raytracer in haskell
DVD Directory Archiver
Pythonify my code
Experimental Prime Number Generator
Code to detect the web browser
Pastable version of
Fluent Builder
<div style="overflow:auto;border:solid 1px #ccc;background:#000;color:#F8F8F8"> <div class="section"> <pre style="float:left;margin:0 10px;border-right:0;color:#666;">1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44</pre> <pre class="sunburst"><span style="color:#99CF50;">public </span><span style="color:#99CF50;">class</span> <span style="text-decoration:underline;">Car</span> { <span style="color:#99CF50;">public static </span><span style="color:#99CF50;">class</span> <span style="text-decoration:underline;">Builder</span> { <span style="color:#99CF50;">private</span> <span style="color:#99CF50;">int</span> year; <span style="color:#99CF50;">private</span> <span style="color:#9B859D;">String</span> make; <span style="color:#99CF50;">private</span> <span style="color:#9B859D;">String</span> model; <span style="color:#99CF50;">private</span> <span style="color:#9B859D;">String</span> color; <span style="color:#99CF50;">public</span> <span style="color:#99CF50;">Builder</span> year(<span style="color:#99CF50;">int</span> year) { <span style="color:#3E87E3;">this</span>.year = year; <span style="color:#E28964;">return</span> <span style="color:#3E87E3;">this</span>; } <span style="color:#99CF50;">public</span> <span style="color:#99CF50;">Builder</span> make(<span style="color:#9B859D;">String</span> make) { <span style="color:#3E87E3;">this</span>.make = make; <span style="color:#E28964;">return</span> <span style="color:#3E87E3;">this</span>; } <span style="color:#99CF50;">public</span> <span style="color:#99CF50;">Builder</span> model(<span style="color:#9B859D;">String</span> model) { <span style="color:#3E87E3;">this</span>.model = model; <span style="color:#E28964;">return</span> <span style="color:#3E87E3;">this</span>; } <span style="color:#99CF50;">public</span> <span style="color:#99CF50;">Builder</span> color(<span style="color:#9B859D;">String</span> color) { <span style="color:#3E87E3;">this</span>.color = color; <span style="color:#E28964;">return</span> <span style="color:#3E87E3;">this</span>; } <span style="color:#99CF50;">public </span><span style="color:#99CF50;">Car</span> <span style="color:#89BDFF;">build</span>() { <span style="color:#E28964;">return</span> <span style="color:#E28964;">new</span> <span style="color:#99CF50;">Car</span>(year, make, model, color); } } <span style="color:#99CF50;">private</span> <span style="color:#99CF50;">final</span> <span style="color:#99CF50;">int</span> year; <span style="color:#99CF50;">private</span> <span style="color:#99CF50;">final</span> <span style="color:#9B859D;">String</span> make; <span style="color:#99CF50;">private</span> <span style="color:#99CF50;">final</span> <span style="color:#9B859D;">String</span> model; <span style="color:#99CF50;">private</span> <span style="color:#99CF50;">final</span> <span style="color:#9B859D;">String</span> color; <span style="color:#99CF50;">private </span><span style="color:#89BDFF;">Car</span>(<span style="color:#99CF50;">int</span> year, <span style="color:#9B859D;">String</span> make, <span style="color:#9B859D;">String</span> model, <span style="color:#9B859D;">String</span> color) { <span style="color:#3E87E3;">this</span>.year = year; <span style="color:#3E87E3;">this</span>.make = make; <span style="color:#3E87E3;">this</span>.model = model; <span style="color:#3E87E3;">this</span>.color = color; } <span style="color:#99CF50;">public static </span><span style="color:#99CF50;">Builder</span> <span style="color:#89BDFF;">builder</span>() { <span style="color:#E28964;">return</span> <span style="color:#E28964;">new</span> <span style="color:#99CF50;">Builder</span>(); } } <span style="color:#AEAEAE;font-style:italic;"><span style="color:#AEAEAE;font-style:italic;">//</span> Using this fluent API...</span> <span style="color:#99CF50;">Car</span> car = <span style="color:#99CF50;">Car</span>.builder() .year(<span style="color:#3387CC;">2007</span>) .make(<span style="color:#65B042;"><span style="color:#65B042;">"</span>Toyota<span style="color:#65B042;">"</span></span>) .model(<span style="color:#65B042;"><span style="color:#65B042;">"</span>Camry<span style="color:#65B042;">"</span></span>) .color(<span style="color:#65B042;"><span style="color:#65B042;">"</span>blue<span style="color:#65B042;">"</span></span>) .build(); </pre> </div> </div> <a href="http://refactormycode.com/codes/194-fluent-builder" style="color:#fff" title="As seen on RefactorMyCode.com"><img alt="Small_logo" src="http://refactormycode.com/images/small_logo.gif" style="border:0" /></a>