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.
-
ClassDescriptionExposes 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
@Bindablefield with the component it should mirror.Marks a POJO orPropertyBusinessObjectas a target for the component binding processor.Renames or constrains an@Entityfield's column.Indicates that a class has a known concrete implementation that ParparVM can target directly in native (C/Objective-C) pipelines.Excludes an@Entityfield 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 orPropertyBusinessObjectas a persistent entity, in the app and on the Codename One backend alike.The stable identifier of anIntentEntityinstance.The thumbnail for anIntentEntityinstance, on a member returningcom.codename1.ui.EncodedImage.Marks apublic staticmethod as one of anIntentEntity's lookups.The three lookups an entity type can offer.The secondary line shown under theEntityTitle.The primary line shown for anIntentEntityinstance 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 anAppIntent.Names and describes one parameter of anAppIntenthandler.Marks avoidmethod whose callers never wait for it to finish, so the JavaScript port may let it finish later.Hands a type's JSON form to the application's ownJsonTypeAdapter.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@Mappedfield from the JSON projection.Leaves a member that isnullout of the JSON instead of writingnull.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 markedJsonAdapter.Requires the component value to have at leastmincharacters.Marks a POJO orPropertyBusinessObjectas 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@Bindfield whose component must hold a non-empty value.Binds aFormclass -- or a static method that returns aForm-- 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-writtencom.codename1.ui.validation.Constraintimplementation.Promotes a@Mappedfield to an XML attribute on the parent element rather than a nested child element.Renames a@Mappedfield in the XML projection.Names the root XML element produced for a@Mappedclass.Excludes a@Mappedfield from the XML projection.