@EnvironmentConfigExtension public class RpcTypesProvider implements ExposedTypesProvider { @Override
@GenerateAsync(RpcProxyLoader.class) public class RpcProxyLoaderGenerator extends AbstractAsyncGenerator { private static final Logger log = LoggerFactory.getLogger(RpcProxyLoaderGenerator.class);
private static Map<String, String> getConfigMap() { return EnvUtil.getEnvironmentConfig().getFrameworkProperties(); }
@Override protected boolean isRelevantClass(final MetaClass clazz) { return EnvUtil.isPortableType(clazz); } }
public static void recordEnvironmentState() { isJUnitTest(); isDevMode(); isProdMode(); }
private static boolean isUserPortableType(final MetaClass mc) { return mc.isAnnotationPresent(Portable.class) || getEnvironmentConfig().getExposedClasses().contains(mc) || getEnvironmentConfig().getPortableSuperTypes().contains(mc); }
protected boolean getPropertyValue(final String propName, final String matchValue, final boolean matchByDefault, final boolean caseSensitive) { final String propertyValue = EnvUtil.getEnvironmentConfig().getFrameworkOrSystemProperty(propName); if (propertyValue == null) { return matchByDefault; } else { return caseSensitive ? propertyValue.equals(matchValue) : propertyValue.equalsIgnoreCase(matchValue); } }
public AsyncGenerationJob build() { return new AsyncGenerationJob(this); } }
public Future<String> submit() { return AsyncGenerators.getFutureFor(this); } }
public static Builder createBuilder() { return new Builder(); }
public EnvironmentConfigCache() { clear(); }
/** * Marks the provided classes as cache relevant. This means that the provided * classes will be considered when checking for changes to determine whether * or not the generator needs to rerun after a refresh. If no cache relevant * classes are added any change to reloadable classes will cause the generator * to rerun. * * @param classes * the classes to consider when checking for changes. */ protected void addCacheRelevantClasses(final Collection<MetaClass> classes) { for (final MetaClass clazz : classes) { addCacheRelevantClass(clazz); } }
@Override protected boolean isRelevantClass(final MetaClass clazz) { return EnvUtil.isPortableType(clazz); } }
public static void recordEnvironmentState() { isJUnitTest(); isDevMode(); isProdMode(); }
private static Map<String, String> getConfigMap() { return EnvUtil.getEnvironmentConfig().getFrameworkProperties(); }
public AsyncGenerationJob build() { return new AsyncGenerationJob(this); } }
public Future<String> submit() { return AsyncGenerators.getFutureFor(this); } }
public static Builder createBuilder() { return new Builder(); }
public EnvironmentConfigCache() { clear(); }
/** * Marks the provided classes as cache relevant. This means that the provided * classes will be considered when checking for changes to determine whether * or not the generator needs to rerun after a refresh. If no cache relevant * classes are added any change to reloadable classes will cause the generator * to rerun. * * @param classes * the classes to consider when checking for changes. */ protected void addCacheRelevantClasses(final Collection<MetaClass> classes) { for (final MetaClass clazz : classes) { addCacheRelevantClass(clazz); } }