Skip to content

Instantly share code, notes, and snippets.

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

OptimusPi commented Jul 11, 2022

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