All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xapi.util.impl.PropertyServiceDefault Maven / Gradle / Ivy

Go to download

Everything needed to run a comprehensive dev environment. Just type X_ and pick a service from autocomplete; new dev modules will be added as they are built. The only dev service not included in the uber jar is xapi-dev-maven, as it includes all runtime dependencies of maven, adding ~4 seconds to build time, and 6 megabytes to the final output jar size (without xapi-dev-maven, it's ~1MB).

The newest version!
package xapi.util.impl;

import java.security.AccessController;
import java.security.PrivilegedAction;

import xapi.annotation.gwt.MagicMethod;
import xapi.annotation.inject.SingletonDefault;
import xapi.util.X_Namespace;
import xapi.util.service.PropertyService;

@SingletonDefault(implFor=PropertyService.class)
public class PropertyServiceDefault implements PropertyService{

  @Override
  @MagicMethod(doNotVisit=true)
  public String getProperty(final String key) {
    return System.getProperty(key, null);
  }

  @Override
  @MagicMethod(doNotVisit=true)
  public String getProperty(final String key, final String dflt) {
    return System.getProperty(key, dflt);
  }

  @Override
  public void setProperty(final String key, final String value) {
    if (System.getSecurityManager()==null) {
      System.setProperty(key, value);
    } else {
      AccessController.doPrivileged(new PrivilegedAction() {
        @Override
        public Void run() {
          System.setProperty(key, value);
          return null;
        }
      });
    }
  }

  @Override
  public boolean isRuntimeInjection() {
    return !"false".equals(getProperty(X_Namespace.PROPERTY_USE_X_INJECT));
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy