Annotation Type DBusProperty


  • @Target(TYPE)
    @Retention(RUNTIME)
    @Repeatable(DBusProperties.class)
    public @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>>> {
       }
     }
     
    See Also:
    DBusInterface, TypeRef
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      java.lang.String name
      Property name
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      DBusProperty.Access access
      Property access type
      java.lang.Class<?> type
      type of the property, in case of complex types please create custom interface that extends TypeRef
    • Element Detail

      • name

        java.lang.String name
        Property name
        Returns:
        name
      • type

        java.lang.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

        DBusProperty.Access access
        Property access type
        Returns:
        access
        Default:
        org.freedesktop.dbus.annotations.DBusProperty.Access.READ_WRITE