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

org.freedesktop.dbus.annotations.PropertiesEmitsChangedSignal Maven / Gradle / Ivy

Go to download

Improved version of the DBus-Java library provided by freedesktop.org (https://dbus.freedesktop.org/doc/dbus-java/).

The newest version!
package org.freedesktop.dbus.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * From DBUS Specification:
* If set to false, the org.freedesktop.DBus.Properties.PropertiesChanged signal,
* see the section called “org.freedesktop.DBus.Properties” is not guaranteed to be emitted if the property changes.
*
* If set to const the property never changes value during the lifetime of the object it belongs to,
* and hence the signal is never emitted for it.
*
* If set to invalidates the signal is emitted but the value is not included in the signal.
*
* If set to true the signal is emitted with the value included.
* The value for the annotation defaults to true if the enclosing interface element does not specify the annotation. * Otherwise it defaults to the value specified in the enclosing interface element.
*
* This annotation is intended to be used by code generators to implement client-side caching of property values.
* For all properties for which the annotation is set to const, invalidates or true the client may unconditionally
* cache the values as the properties don't change or notifications are generated for them if they do. */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @DBusInterfaceName("org.freedesktop.DBus.Property.EmitsChangedSignal") public @interface PropertiesEmitsChangedSignal { EmitChangeSignal value(); /** * The different values which are supported for emitting a signal. */ enum EmitChangeSignal { /** The signal is emitted with the value included. */ TRUE, /** The signal is emitted but the value is not included in the signal. */ INVALIDATES, /** The property never changes value during the lifetime of the object it belongs to, and hence the signal is never emitted for it. */ CONST, /** It is not guaranteed to emit a signal if the property changes. */ FALSE; @Override public String toString() { return name().toLowerCase(); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy