Claudenw commented on code in PR #205:
URL: https://github.com/apache/creadur-rat/pull/205#discussion_r1526403205


##########
apache-rat-core/src/main/java/org/apache/rat/inspector/AbstractInspector.java:
##########
@@ -0,0 +1,120 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ */ 
+package org.apache.rat.inspector;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.rat.license.ILicense;
+
+public abstract class AbstractInspector implements Inspector {
+    private final Type type;
+    private final String name;
+
+    public AbstractInspector(Type type, String name) {
+        this.type = type;
+        this.name = name;
+    }
+
+    @Override
+    public Type getType() {
+        return type;
+    }
+
+    @Override
+    public String getCommonName() {
+        return name;
+    }
+
+    public static Inspector license(ILicense license, Inspector matcher) {
+        return new AbstractInspector(Inspector.Type.License, "license") {

Review Comment:
   The problem (for reporting) is that the current system allows creation of 
new IHeaderMatcher types and adding those matchers to the system.  This means 
that the output has to be able to handle matchers that we don't know about yet.
   
   I think the way to approach this might be to have each system class that 
represents an item in the have a `getDescription()` method that will return a 
Description that is basically the same as the Inspector, but is defined within 
the class.  This will handle the new class problem noted above, as well as 
provide a mechanism to construct documentation for all the options and/or 
display that information to the user.
   
   I have an example of the Description approach.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to