Package com.codename1.annotations


package com.codename1.annotations
Codename One specific Java annotations used by the build pipeline and the ParparVM bytecode translator to mark methods and classes for special treatment -- e.g. opting individual call sites out of debug info or null/array-bounds checks, declaring asynchronous methods, or forcing a class to be treated as concrete during devirtualization.
  • Class
    Description
    Exposes a capability of your application to the system: Siri, Spotlight, the Shortcuts app, an Android launcher shortcut, a widget button, or a language model.
    Helper annotations for asynchronous computation.
    Indicates that the marked method executes async computation.
    Indicates that the marked method schedules async computation.
    Pairs a @Bindable field with the component it should mirror.
    Marks a POJO or PropertyBusinessObject as a target for the component binding processor.
    Renames or constrains an @Entity field's column.
    Indicates that a class has a known concrete implementation that ParparVM can target directly in native (C/Objective-C) pipelines.
    Excludes an @Entity field from the generated table.
    Marks a method so ParparVM omits emitted debug line information.
    Marks a method so ParparVM omits emitted null and array bounds checks.
    Requires the component value to be a syntactically valid e-mail address.
    Marks a POJO or PropertyBusinessObject as a persistent entity, in the app and on the Codename One backend alike.
    The stable identifier of an IntentEntity instance.
    The thumbnail for an IntentEntity instance, on a member returning com.codename1.ui.EncodedImage.
    Marks a public static method as one of an IntentEntity's lookups.
    The three lookups an entity type can offer.
    The secondary line shown under the EntityTitle.
    The primary line shown for an IntentEntity instance in a picker or a search result.
    Requires the component value to be one of an allowed list of strings.
    Marks a class whose constructor-created primitive-array fields are fully ENCAPSULATED, letting ParparVM allocate each instance TOGETHER with those arrays as a single heap block ("fused object"): one allocation instead of several, one object for the garbage collector instead of several, and the arrays share the owner's cache lines.
    Designates the primary-key field of an @Entity.
    Marks one of your application's own nouns -- an order, a playlist, a saved route -- as something the system can name, list, search and hand back to an AppIntent.
    Names and describes one parameter of an AppIntent handler.
    Hands a type's JSON form to the application's own JsonTypeAdapter.
    The constructor, or static factory method, that builds an immutable class from JSON.
    Picks the JSON shape a date or number field is written in.
    A JSON shape for a scalar value.
    Excludes a @Mapped field from the JSON projection.
    Leaves a member that is null out of the JSON instead of writing null.
    Names a field in the JSON form, and says how a body may spell it.
    Refuses a body that carries a member this class does not declare.
    Converts a value to and from its JSON form, for a field or class marked JsonAdapter.
    Requires the component value to have at least min characters.
    Marks a POJO or PropertyBusinessObject as a target for the build-time JSON / XML mapping processor.
    Requires the component value to parse as a number, optionally within a closed range.
    Traces the app with OpenTelemetry: every network request becomes a span, and carries the W3C trace context to the server it reaches, so a tap in the app and the backend work it caused are one trace.
    Requires the component value to match a regular expression.
    Marks a @Bind field whose component must hold a non-empty value.
    Binds a Form class -- or a static method that returns a Form -- to a URL path so the framework can show it in response to a deep link.
    Container annotation for binding several path patterns to the same target.
    Binds a constructor or static-factory parameter to a path variable or query parameter from an incoming deep link.
    Requires the component value to be a syntactically valid URL (http, https, ftp, or file scheme).
    Escape hatch for the validation annotation set: points the component at a hand-written com.codename1.ui.validation.Constraint implementation.
    Promotes a @Mapped field to an XML attribute on the parent element rather than a nested child element.
    Renames a @Mapped field in the XML projection.
    Names the root XML element produced for a @Mapped class.
    Excludes a @Mapped field from the XML projection.