TRINIDAD-1892 - Add support for custom tag sub-classes of generated tag classes
diff --git a/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/taglib/AbstractComponentTagGenerator.java b/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/taglib/AbstractComponentTagGenerator.java
index 9399e79..2e447c8 100644
--- a/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/taglib/AbstractComponentTagGenerator.java
+++ b/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/generator/taglib/AbstractComponentTagGenerator.java
@@ -130,6 +130,14 @@
     // TODO: add support for source template
 
     int modifiers = component.getTagClassModifiers();
+
+    // If there is no source template but there is a sub-class, then make the generate class
+    // abstract.
+    if (template == null && hasTemplate)
+    {
+      modifiers |= Modifier.ABSTRACT;
+    }
+
     String classStart = Modifier.toString(modifiers);
 
     out.println("/**");