diff -urN --exclude '*~' SilverCity-0.9.5/PySilverCity/SilverCity/Java.py SilverCity-0.9.5-java/PySilverCity/SilverCity/Java.py
--- SilverCity-0.9.5/PySilverCity/SilverCity/Java.py	1970-01-01 01:00:00.000000000 +0100
+++ SilverCity-0.9.5-java/PySilverCity/SilverCity/Java.py	2005-10-10 12:54:51.000000000 +0100
@@ -0,0 +1,46 @@
+import HTMLGenerator
+import Keywords
+import Lexer
+from DispatchHandler import DispatchHandler
+from _SilverCity import find_lexer_module_by_id, PropertySet, WordList
+from ScintillaConstants import SCLEX_CPP
+import LanguageInfo
+
+class JavaLexer(Lexer.Lexer):
+    def __init__(self, properties = PropertySet()):
+        self._properties = properties
+        self._lexer = find_lexer_module_by_id(SCLEX_CPP)
+        self._keyword_lists = [
+            WordList(Keywords.java_keywords),
+            WordList(), # User defined (important functions, constants, etc.)
+            WordList(Keywords.javadoc_keywords),
+            WordList(), # "Fold header keywords" - whatever that is
+            WordList(), # Global classes and typedefs
+                               ]
+            
+class JavaHandler(DispatchHandler):
+    def __init__(self):
+        DispatchHandler.__init__(self, 'SCE_C')
+
+class JavaHTMLGenerator(HTMLGenerator.SimpleHTMLGenerator, JavaHandler):
+    name = 'java'
+    description = 'Java'
+
+    def __init__(self):
+        JavaHandler.__init__(self)
+        HTMLGenerator.SimpleHTMLGenerator.__init__(self, 'SCE_C')
+            
+    def generate_html(self, file, buffer, lexer = JavaLexer()):
+        self._file = file
+        
+        lexer.tokenize_by_style(buffer, self.event_handler)
+
+
+java_language_info = LanguageInfo.LanguageInfo(
+                'Java',
+                 ['java'],
+                 [],
+                 [JavaHTMLGenerator]
+            ) 
+
+LanguageInfo.register_language(java_language_info)
diff -urN --exclude '*~' SilverCity-0.9.5/PySilverCity/SilverCity/Keywords.py SilverCity-0.9.5-java/PySilverCity/SilverCity/Keywords.py
--- SilverCity-0.9.5/PySilverCity/SilverCity/Keywords.py	2003-12-07 18:03:02.000000000 +0000
+++ SilverCity-0.9.5-java/PySilverCity/SilverCity/Keywords.py	2005-10-10 13:02:48.000000000 +0100
@@ -18,6 +18,19 @@
     "test throw todo typedef union until "\
     "var verbatim verbinclude version warning weakgroup $ @ \ & < > # { }"
 
+
+java_keywords = \
+    "abstract assert boolean break byte case catch char class "\
+    "const continue default do double else extends final finally float for future "\
+    "generic goto if implements import inner instanceof int interface long "\
+    "native new null outer package private protected public rest "\
+    "return short static super switch synchronized this throw throws "\
+    "transient try var void volatile while"
+
+javadoc_keywords = \
+    "author code docRoot deprecated exception inheritDoc link linkplain "\
+    "literal param return see serial serialData serialField since throws "\
+    "value version"
 
 perl_keywords = \
     "NULL __FILE__ __LINE__ __PACKAGE__ __DATA__ __END__ AUTOLOAD "\
@@ -223,4 +236,4 @@
     "border-color border-style width height float clear " \
     "display white-space list-style-type list-style-image list-style-position list-style"
 
-css_keywords_2 = "first-letter first-line active link visited"
\ No newline at end of file
+css_keywords_2 = "first-letter first-line active link visited"
diff -urN --exclude '*~' SilverCity-0.9.5/PySilverCity/SilverCity/LanguageInfo.py SilverCity-0.9.5-java/PySilverCity/SilverCity/LanguageInfo.py
--- SilverCity-0.9.5/PySilverCity/SilverCity/LanguageInfo.py	2003-12-07 22:00:17.000000000 +0000
+++ SilverCity-0.9.5-java/PySilverCity/SilverCity/LanguageInfo.py	2005-10-10 13:03:14.000000000 +0100
@@ -113,6 +113,7 @@
     
 def do_registration():
     import CPP
+    import Java
     import CSS
     import HyperText
     import NULL
Files SilverCity-0.9.5/scintilla/include/Face.pyc and SilverCity-0.9.5-java/scintilla/include/Face.pyc differ
diff -urN --exclude '*~' SilverCity-0.9.5/setup.py SilverCity-0.9.5-java/setup.py
--- SilverCity-0.9.5/setup.py	2003-12-07 21:46:15.000000000 +0000
+++ SilverCity-0.9.5-java/setup.py	2005-10-10 13:04:20.000000000 +0100
@@ -114,6 +114,7 @@
                      "SilverCity.Utils",
                      # Lexers
                      "SilverCity.CPP",
+                     "SilverCity.Java",
                      "SilverCity.CSS",
                      "SilverCity.HyperText",
                      "SilverCity.NULL",

