de.thjom.java.systemd.Scope Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java-systemd Show documentation
Show all versions of java-systemd Show documentation
Java access to systemd via D-Bus
/*
* Java-systemd implementation
* Copyright (c) 2016 Markus Enax
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of either the GNU Lesser General Public License Version 2 or the
* Academic Free Licence Version 3.0.
*
* Full licence texts are included in the COPYING file with this program.
*/
package de.thjom.java.systemd;
import java.math.BigInteger;
import java.util.List;
import org.freedesktop.dbus.exceptions.DBusException;
import de.thjom.java.systemd.interfaces.ScopeInterface;
import de.thjom.java.systemd.types.DeviceAllowControl;
import de.thjom.java.systemd.types.IOBandwidth;
import de.thjom.java.systemd.types.IODeviceWeight;
public class Scope extends Unit {
public static final String SERVICE_NAME = Systemd.SERVICE_NAME + ".Scope";
public static final String UNIT_SUFFIX = ".scope";
public static class Property extends InterfaceAdapter.AdapterProperty {
public static final String BLOCK_IO_ACCOUNTING = "BlockIOAccounting";
public static final String BLOCK_IO_DEVICE_WEIGHT = "BlockIODeviceWeight";
public static final String BLOCK_IO_READ_BANDWIDTH = "BlockIOReadBandwidth";
public static final String BLOCK_IO_WEIGHT = "BlockIOWeight";
public static final String BLOCK_IO_WRITE_BANDWIDTH = "BlockIOWriteBandwidth";
public static final String CPU_ACCOUNTING = "CPUAccounting";
public static final String CPU_SHARES = "CPUShares";
public static final String CONTROL_GROUP = "ControlGroup";
public static final String CONTROLLER = "Controller";
public static final String DEVICE_ALLOW = "DeviceAllow";
public static final String DEVICE_POLICY = "DevicePolicy";
public static final String KILL_MODE = "KillMode";
public static final String KILL_SIGNAL = "KillSignal";
public static final String MEMORY_ACCOUNTING = "MemoryAccounting";
public static final String MEMORY_LIMIT = "MemoryLimit";
public static final String RESULT = "Result";
public static final String SEND_SIGHUP = "SendSIGHUP";
public static final String SEND_SIGKILL = "SendSIGKILL";
public static final String SLICE = "Slice";
public static final String TIMEOUT_STOP_USEC = "TimeoutStopUSec";
private Property() {
super();
}
public static final String[] getAllNames() {
return getAllNames(Property.class);
}
}
private Scope(final Manager manager, final ScopeInterface iface, final String name) throws DBusException {
super(manager, iface, name);
this.properties = Properties.create(dbus, iface.getObjectPath(), SERVICE_NAME);
}
static Scope create(final Manager manager, String name) throws DBusException {
name = Unit.normalizeName(name, UNIT_SUFFIX);
String objectPath = Unit.OBJECT_PATH + Systemd.escapePath(name);
ScopeInterface iface = manager.dbus.getRemoteObject(Systemd.SERVICE_NAME, objectPath, ScopeInterface.class);
return new Scope(manager, iface, name);
}
@Override
public ScopeInterface getInterface() {
return (ScopeInterface) super.getInterface();
}
public boolean isBlockIOAccounting() {
return properties.getBoolean(Property.BLOCK_IO_ACCOUNTING);
}
public List getBlockIODeviceWeight() {
return IODeviceWeight.list(properties.getVector(Property.BLOCK_IO_DEVICE_WEIGHT));
}
public List getBlockIOReadBandwidth() {
return IOBandwidth.list(properties.getVector(Property.BLOCK_IO_READ_BANDWIDTH));
}
public BigInteger getBlockIOWeight() {
return properties.getBigInteger(Property.BLOCK_IO_WEIGHT);
}
public List getBlockIOWriteBandwidth() {
return IOBandwidth.list(properties.getVector(Property.BLOCK_IO_WRITE_BANDWIDTH));
}
public boolean isCPUAccounting() {
return properties.getBoolean(Property.CPU_ACCOUNTING);
}
public BigInteger getCPUShares() {
return properties.getBigInteger(Property.CPU_SHARES);
}
public String getControlGroup() {
return properties.getString(Property.CONTROL_GROUP);
}
public String getController() {
return properties.getString(Property.CONTROLLER);
}
public List getDeviceAllow() {
return DeviceAllowControl.list(properties.getVector(Property.DEVICE_ALLOW));
}
public String getDevicePolicy() {
return properties.getString(Property.DEVICE_POLICY);
}
public String getKillMode() {
return properties.getString(Property.KILL_MODE);
}
public int getKillSignal() {
return properties.getInteger(Property.KILL_SIGNAL);
}
public boolean isMemoryAccounting() {
return properties.getBoolean(Property.MEMORY_ACCOUNTING);
}
public BigInteger getMemoryLimit() {
return properties.getBigInteger(Property.MEMORY_LIMIT);
}
public String getResult() {
return properties.getString(Property.RESULT);
}
public boolean isSendSIGHUP() {
return properties.getBoolean(Property.SEND_SIGHUP);
}
public boolean isSendSIGKILL() {
return properties.getBoolean(Property.SEND_SIGKILL);
}
public String getSlice() {
return properties.getString(Property.SLICE);
}
public BigInteger getTimeoutStopUSec() {
return properties.getBigInteger(Property.TIMEOUT_STOP_USEC);
}
}