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.
Types
annotation AppIntent | 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. |
class Async | Helper annotations for asynchronous computation. |
annotation Bind | Pairs a @Bindable field with the component it should mirror. |
annotation Bindable | Marks a POJO or PropertyBusinessObject as a target for the component binding processor. |
annotation Column | Renames or constrains an @Entity field’s column. |
annotation Concrete | Indicates that a class has a known concrete implementation that ParparVM can target directly in native (C/Objective-C) pipelines. |
annotation DbTransient | Excludes an @Entity field from the generated table. |
annotation DisableDebugInfo | Marks a method so ParparVM omits emitted debug line information. |
annotation DisableNullChecksAndArrayBoundsChecks | Marks a method so ParparVM omits emitted null and array bounds checks. |
annotation Email | Requires the component value to be a syntactically valid e-mail address. |
annotation Entity | Marks a POJO or PropertyBusinessObject as a target for the SQLite ORM processor. |
annotation EntityId | The stable identifier of an IntentEntity instance. |
annotation EntityImage | The thumbnail for an IntentEntity instance, on a member returning com.codename1.ui.EncodedImage. |
annotation EntityQuery | Marks a public static method as one of an IntentEntity’s lookups. |
annotation EntitySubtitle | The secondary line shown under the EntityTitle. |
annotation EntityTitle | The primary line shown for an IntentEntity instance in a picker or a search result. |
annotation ExistIn | Requires the component value to be one of an allowed list of strings. |
annotation Fused | 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. |
annotation Id | Designates the primary-key field of an @Entity. |
annotation IntentEntity | 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. |
annotation IntentParam | Names and describes one parameter of an AppIntent handler. |
annotation JsonIgnore | Excludes a @Mapped field from the JSON projection. |
annotation JsonProperty | Renames a @Mapped field in the JSON projection. |
annotation Length | Requires the component value to have at least min characters. |
annotation Mapped | Marks a POJO or PropertyBusinessObject as a target for the build-time JSON / XML mapping processor. |
annotation Numeric | Requires the component value to parse as a number, optionally within a closed range. |
annotation Regex | Requires the component value to match a regular expression. |
annotation Required | Marks a @Bind field whose component must hold a non-empty value. |
annotation Route | 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. |
annotation RouteParam | Binds a constructor or static-factory parameter to a path variable or query parameter from an incoming deep link. |
annotation Url | Requires the component value to be a syntactically valid URL (http, https, ftp, or file scheme). |
annotation Validate | Escape hatch for the validation annotation set: points the component at a hand-written com.codename1.ui.validation.Constraint implementation. |
annotation XmlAttribute | Promotes a @Mapped field to an XML attribute on the parent element rather than a nested child element. |
annotation XmlElement | Renames a @Mapped field in the XML projection. |
annotation XmlRoot | Names the root XML element produced for a @Mapped class. |
annotation XmlTransient | Excludes a @Mapped field from the XML projection. |