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 target for the SQLite ORM processor.
    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.
    Excludes a @Mapped field from the JSON projection.
    Renames a @Mapped field in the JSON projection.
    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.
    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.