Annotation Interface DBusProperty


Appends information about properties in the interface. The annotated properties are added to the introspection data. In case of complex type of the property please use TypeRef.

Usage:

 @DBusInterfaceName("com.example.Bar")
 @DBusProperty(name = "Name", type = String.class)
 @DBusProperty(name = "ListOfVariables", type = List.class, access = Access.READ)
 @DBusProperty(name = "MapOfStringList", type = ComplexTypeWithMapAndList.class, access = Access.READ)
 public interface Bar extends DBusInterface {

   // TypeRef allows to provide detailed information about type
   interface ComplexTypeWithMapAndList extends TypeRef<Map<String, List<String>>> {
   }
 }
 

As an alternative to this annotation, you might consider using DBusBoundProperty. This allows you to achieve the same results with less code.

.
See Also:
  • Element Details

    • name

      String name
      Property name
      Returns:
      name
    • type

      Class<?> type
      type of the property, in case of complex types please create custom interface that extends TypeRef.
      Returns:
      type
      Default:
      org.freedesktop.dbus.types.Variant.class
    • access

      Specifies the access type of this property.
      Returns:
      access type, never null
      Default:
      READ_WRITE
    • emitChangeSignal

      Property which defines if a signal is emitted when the annotated property was changed.
      Returns:
      emitChangeSignal, never null
      Default:
      TRUE