Skip to content

Instantly share code, notes, and snippets.

Created November 9, 2011 11:55
What would you like to do?
Enterprisify your Java Class Names!
<!doctype html>
body {
background: white;
text-align: center;
padding: 20px;
font-family: Georgia, serif;
font-weight: bold;
font-style: italic;
color: #999;
a {
color: #99f;
h1 {
font-size: 16px;
h2 {
font-size: 12px;
#word {
font-size: 36px;
color: black;
button {
font-size: 24px;
padding: 10px;
<h1>Enterprisify your Java Class Names!</h1>
<h2>By <a href="">Hay Kranen</a></h2>
<p id="word"></p>
<button id="enterprise">Enterprisify!</button>
<button id="again">Again</button>
<br /><br /><br />
<a href="" class="twitter-share-button" data-count="horizontal" data-via="huskyr">Tweet</a><script type="text/javascript" src="//"></script>
<br /><br /><br />
<small><a href="">Fork this gist on Github to add your own words ;)</a></small>
var words = [
"Factory", "Bean", "Wrapper", "Visitor", "Model", "Singleton",
"Method", "Configuration", "Exception", "Error", "Property", "Value",
"Identifier", "Attribute", "Authentication", "Policy", "Container",
"Order", "Info", "Parameter", "Request", "Adapter", "Bridge",
"Decorator", "Facade", "Proxy", "Worker",
"Interpreter", "Iterator", "Observer",
"State", "Strategy", "Template", "Comparator", "Clone", "Task",
"Resolver", "Candidate", "Expression", "Predicate",
"Thread", "Pool", "Descriptor", "Interceptor", "Definition",
"Getter", "Setter", "Listener", "Proccesor", "Printer",
"Prototype", "Composer", "Event", "Helper", "Utils",
"Invocation", "Exporter", "Importer", "Serializer", "Callback",
"Tag", "Context", "Mapping", "Advisor", "Filter", "Field", "Test",
"Tests", "Connection", "Annotation", "Service", "Repository",
"Stub", "Mock", "Instance", "Dispatcher", "Client", "Server",
"Message", "Map", "List", "Collection", "Queue", "Manager",
"Database", "Reponse", "Broadcaster",
"Watcher", "Schema", "Mapper", "Publisher", "Consumer", "Producer"
inWords = [
"Composite", "Invalid", "Supported", "Focus", "Traversal", "Abstract",
"Transformer", "Common", "Concrete", "Autowire", "Simple", "Aware",
"Aspect", "Principal", "Driven", "Interruptible", "Batch",
"Prepared", "Statement", "Remote", "Stateless", "Session",
"Transaction", "Transactional", "Based", "Meta", "Data", "Jms",
"Readable", "Literal", "Reflective", "Scope", "Multipart", "Xml",
"Generic", "Interface", "Advisable", "Observable", "Identifiable",
"Iterable", "Distributed", "Notification", "Failure", "Type",
"Http", "Jdbc"
function $(id) {
return document.getElementById(id);
function rand(min, max) {
return Math.round(Math.random() * (max - min)) + min;
function generate(min, max) {
var allWords = words.concat( inWords ),
word = '';
for (var i = 0, l = rand(min, max) - 1; i < l; i++) {
do {
var w = allWords[ rand(0, allWords.length - 1) ];
} while (word.indexOf(w) !== -1);
word += w;
word += words[ rand(0, words.length) ];
return word;
$("again").onclick = function() {
$("word").innerHTML = generate(2, 3);
$("enterprise").innerHTML = "Enterprisify!";
$("enterprise").onclick = function() {
var word = $("word").innerHTML;
$("word").innerHTML = generate(1, 1) + word;
$("enterprise").innerHTML = "Enterprisify even more!";
$("word").innerHTML = generate(2, 3);
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-15405780-12']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
Copy link

ghost commented Aug 1, 2017

what about "Builder" and "Controller"?

Copy link

tomasliubinas commented Aug 3, 2017

Oh, there could be even more:
Subscriber, View, Formatter, Master, Slave, Generator, Provider
Subscribed, Distributed, Generated, Data, Socket, Range, View, Pointer, Stack .....

Copy link

amaembo commented Oct 5, 2017

Thanks for the great service! Typo: "Reponse" -> "Response".

Copy link

GitLad commented Mar 16, 2018

Can you apply 'word-wrap:break-word;' css to the word please, so it doesn't force horizontal scrolling.

I use this in our production server, and it is a real deal breaker for us.

Due to a complex security policies and rules we are unfortunately unable at the time to host our own instance of this if we were to fork and update it.

Copy link

sr229 commented Aug 24, 2018

This is revolutionary

Copy link

I'm a Python programmer and this changes everything.

Copy link

Gebes commented Jan 3, 2021

This improved the code in all my recent projects by a lot

Copy link

abermea commented Feb 4, 2021

This is great but the words should be added at the end, not the beginning

Copy link


Copy link

Just want to say I have showed this to many people over the years and have forked it in the past to make our own specific version as an inside joke at work, thanks for making this :P Amazed it's still up!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment