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 AppIntentExposes 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 AsyncHelper annotations for asynchronous computation.
annotation BindPairs a @Bindable field with the component it should mirror.
annotation BindableMarks a POJO or PropertyBusinessObject as a target for the component binding processor.
annotation ColumnRenames or constrains an @Entity field’s column.
annotation ConcreteIndicates that a class has a known concrete implementation that ParparVM can target directly in native (C/Objective-C) pipelines.
annotation DbTransientExcludes an @Entity field from the generated table.
annotation DisableDebugInfoMarks a method so ParparVM omits emitted debug line information.
annotation DisableNullChecksAndArrayBoundsChecksMarks a method so ParparVM omits emitted null and array bounds checks.
annotation EmailRequires the component value to be a syntactically valid e-mail address.
annotation EntityMarks a POJO or PropertyBusinessObject as a target for the SQLite ORM processor.
annotation EntityIdThe stable identifier of an IntentEntity instance.
annotation EntityImageThe thumbnail for an IntentEntity instance, on a member returning com.codename1.ui.EncodedImage.
annotation EntityQueryMarks a public static method as one of an IntentEntity’s lookups.
annotation EntitySubtitleThe secondary line shown under the EntityTitle.
annotation EntityTitleThe primary line shown for an IntentEntity instance in a picker or a search result.
annotation ExistInRequires the component value to be one of an allowed list of strings.
annotation FusedMarks 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 IdDesignates the primary-key field of an @Entity.
annotation IntentEntityMarks 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 IntentParamNames and describes one parameter of an AppIntent handler.
annotation JsonIgnoreExcludes a @Mapped field from the JSON projection.
annotation JsonPropertyRenames a @Mapped field in the JSON projection.
annotation LengthRequires the component value to have at least min characters.
annotation MappedMarks a POJO or PropertyBusinessObject as a target for the build-time JSON / XML mapping processor.
annotation NumericRequires the component value to parse as a number, optionally within a closed range.
annotation RegexRequires the component value to match a regular expression.
annotation RequiredMarks a @Bind field whose component must hold a non-empty value.
annotation RouteBinds 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 RouteParamBinds a constructor or static-factory parameter to a path variable or query parameter from an incoming deep link.
annotation UrlRequires the component value to be a syntactically valid URL (http, https, ftp, or file scheme).
annotation ValidateEscape hatch for the validation annotation set: points the component at a hand-written com.codename1.ui.validation.Constraint implementation.
annotation XmlAttributePromotes a @Mapped field to an XML attribute on the parent element rather than a nested child element.
annotation XmlElementRenames a @Mapped field in the XML projection.
annotation XmlRootNames the root XML element produced for a @Mapped class.
annotation XmlTransientExcludes a @Mapped field from the XML projection.