![JAR search and dependency download from the Maven repository](/logo.png)
com.elephantdrummer.tool.reflect.ScannerJobConfiguration Maven / Gradle / Ivy
package com.elephantdrummer.tool.reflect;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import com.elephantdrummer.annotation.ConfigurationForDrummerJobNamed;
import com.elephantdrummer.classconfig.JobClassConfig;
import com.elephantdrummer.scope.DrummerObservable;
/**
* Copyright 2018 Elephant Software Klaudiusz Wojtkowiak e-mail: [email protected]
*
* Licensed 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.
*/
public interface ScannerJobConfiguration {
public static Map getInternalConfiguration(DrummerObservable dob){
Map rv=new HashMap<>();
for (Method method:dob.getClass().getMethods()) {
if (method.isAnnotationPresent(ConfigurationForDrummerJobNamed.class)==false) {
continue;
}
if (method.getParameterTypes().length>0) {
// continue;
}
ConfigurationForDrummerJobNamed a=method.getAnnotation(ConfigurationForDrummerJobNamed.class);
try {
if (a==null) {
continue;
}
if (a.value()==null) {
continue;
}
if (a==null||a.value()==null||a.value().length==0) {
continue;
}
JobClassConfig jobconfig=(JobClassConfig)method.invoke(dob);
for (String val:a.value()) {
rv.put(val, jobconfig);
}
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return rv;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy