protected void processClassloadingRules(Environment environment) { //Process Hidden Class for (String hiddenClassPrefix : environment.getClassLoadingRules().getHiddenRule().getClassPrefixes()) { String inversedImportPackage = hiddenClassPrefix.endsWith("*") ? hiddenClassPrefix : hiddenClassPrefix + "*"; environment.addImportPackage("!" + inversedImportPackage); } //Non-Overridable-Classes /*for (String hiddenClassPrefix : environment.getClassLoadingRules().getHiddenRule().getClassPrefixes()) { environment.getImportPackages().add(hiddenClassPrefix); }*/ }
OSGiBuildContext osgiBuildContext = new OSGiBuildContext(environment, hiddenImportPackageNamePrefixes, hiddenImportPackageNames, dependencyManager, environment.getClassLoadingRules() .isInverseClassLoading()); osgiBuildContext.setClientModule(clientModule);
public static void mergeEnvironments(Environment environment, Environment additionalEnvironment) { if (additionalEnvironment != null) { //TODO merge configIds?? if (environment.getConfigId() == null) { environment.setConfigId(additionalEnvironment.getConfigId()); } environment.addDependencies(additionalEnvironment.getDependencies()); environment.addToBundleClassPath(additionalEnvironment.getBundleClassPath()); environment.addImportPackages(additionalEnvironment.getImportPackages()); environment.addExportPackages(additionalEnvironment.getExportPackages()); environment.addRequireBundles(additionalEnvironment.getRequireBundles()); environment.addDynamicImportPackages(additionalEnvironment.getDynamicImportPackages()); if (environment.getBundleActivator() == null && additionalEnvironment.getBundleActivator() != null) { environment.setBundleActivator(additionalEnvironment.getBundleActivator()); } environment.setSuppressDefaultEnvironment(environment.isSuppressDefaultEnvironment() || additionalEnvironment.isSuppressDefaultEnvironment()); ClassLoadingRules classLoadingRules = environment.getClassLoadingRules(); ClassLoadingRules additionalClassLoadingRules = additionalEnvironment.getClassLoadingRules(); classLoadingRules.merge(additionalClassLoadingRules); } }
ClassLoadingRules classLoadingRules = environment.getClassLoadingRules(); if (classLoadingRules.isInverseClassLoading()) { environmentType.addNewInverseClassloading();
ClassLoadingRules classLoadingRules = environment.getClassLoadingRules(); classLoadingRules.setInverseClassLoading(environmentType.isInverseClassloading());
ClassLoadingRulesUtil.configureRules(environment.getClassLoadingRules(), environmentType);