Package com.iizix.prop
Class Atom
- java.lang.Object
- com.iizix.prop.Atom
 
- All Implemented Interfaces:
- java.lang.Cloneable,- java.lang.Comparable<Atom>
 - Direct Known Subclasses:
- GeneratedAtom
 - public class Atom extends java.lang.Object implements java.lang.Cloneable, java.lang.Comparable<Atom> The- Atomobject instance is used to access the name string for e.g. properties. A name string that has been placed in an atom table is called an atom name.- The name string is subject to the following name string rules: - cannot be empty,
- code point for each character must be space or greater, i.e. no control characters,
- reserved characters: single- and double-quote, colon (:), forward and backslash (/\), curly brackets ({}) used in expressions, wild card characters (?*^), enumeration separators (,;).
 - The string itself is implemented as a weak reference, enabling the editor to keep a weak hash map with weak references. - Author:
- Christopher Mindus
 
- Field Summary
 - Constructor Summary- Constructors - Modifier - Constructor - Description - protected- Atom(java.lang.String name, int internalValue)This method is ONLY intended to be used by GAtom!
 - Method Summary- All Methods Static Methods Instance Methods Concrete Methods - Modifier and Type - Method - Description - Atom- clone()Clones this atom.- int- compareTo(Atom atom)Compares this object with the specified object for order.- static java.lang.String- createValidName(java.lang.String string, boolean isLeadingDollarAllowed)Creates a valid name from a string.- boolean- equals(java.lang.Object atom)Checks if an atom equals to another.- static Atom- find(java.lang.String name)Finds an atom that has been created previously by name, and that is still in use by some non-garbage-collected object.- static Atom- get(java.lang.String name)Gets an existing or creates a new atom with the specified name.- java.lang.String- getAtomName()Gets the atom name.- int- hashCode()Gets the hash code of the Atom, i.e.- static boolean- isInside(Atom atom, Atom[] atoms)Checks if an Atom is present in an array of Atoms.- static boolean- isValidName(java.lang.String name)Validates the atom name (apart of the leading '$' sign that should not be used unless for system defines).- static boolean- isValidName(java.lang.String name, boolean allowLeadingDollar)Validates the atom name.- java.lang.String- toString()Converts the atom to a string in the format of- atom[name].- static java.lang.String- validateName(java.lang.String name)Validates the atom name (apart of the leading '$' sign that should not be used unless for system defines).- static java.lang.String- validateName(java.lang.String name, boolean allowLeadingDollar)Validates the atom name (apart of the leading '$' sign that should not be used unless for system defines).
 
- Field Detail- RESERVED_CHARS- public static final java.lang.String RESERVED_CHARS Reserved characters in Atom names.- See Also:
- Constant Field Values
 
 - SYSTEM- public static final Atom SYSTEM 
 - SERVER- public static final Atom SERVER 
 - CLIENT- public static final Atom CLIENT 
 - EVENT- public static final Atom EVENT 
 - ENV- public static final Atom ENV 
 - HEADER- public static final Atom HEADER 
 - ERROR- public static final Atom ERROR 
 - INDEX- public static final Atom INDEX 
 - APPS- public static final Atom APPS 
 - FILENAME- public static final Atom FILENAME 
 - ROOT- public static final Atom ROOT 
 - ICON- public static final Atom ICON 
 - BINDINGS- public static final Atom BINDINGS 
 - PORT- public static final Atom PORT 
 - BIND- public static final Atom BIND 
 - RESOLVE- public static final Atom RESOLVE 
 - HOST- public static final Atom HOST 
 - SSL- public static final Atom SSL 
 - PROXYHOST- public static final Atom PROXYHOST 
 - PROXYPORT- public static final Atom PROXYPORT 
 - PROXYTYPE- public static final Atom PROXYTYPE 
 - WEBSOCKET- public static final Atom WEBSOCKET 
 - USER- public static final Atom USER 
 - EXTENDS- public static final Atom EXTENDS 
 - STYLES- public static final Atom STYLES 
 - CLIENT_STYLES- public static final Atom CLIENT_STYLES 
 - SETTINGS- public static final Atom SETTINGS 
 - ROWS- public static final Atom ROWS 
 - RAW- public static final Atom RAW 
 - NULL- public static final Atom NULL 
 - ACTORS- public static final Atom ACTORS 
 - PATTERN- public static final Atom PATTERN 
 - FOCUS- public static final Atom FOCUS 
 - TRANSACTION- public static final Atom TRANSACTION 
 - CONNECTORS- public static final Atom CONNECTORS 
 - TYPE- public static final Atom TYPE 
 - COMPONENTS- public static final Atom COMPONENTS 
 - COMPONENT- public static final Atom COMPONENT 
 - UI_CONTAINER- public static final Atom UI_CONTAINER 
 - UI_COMPONENT- public static final Atom UI_COMPONENT 
 - UI_PREVIEW- public static final Atom UI_PREVIEW 
 - VISIBLE- public static final Atom VISIBLE 
 - ENABLED- public static final Atom ENABLED 
 - READONLY- public static final Atom READONLY 
 - SELECTED- public static final Atom SELECTED 
 - SELECTOR- public static final Atom SELECTOR 
 - LAYOUT- public static final Atom LAYOUT 
 - LAYOUT_MANAGER- public static final Atom LAYOUT_MANAGER 
 - TEXT- public static final Atom TEXT 
 - CHARUPDATE- public static final Atom CHARUPDATE 
 - DATA_CONTAINER- public static final Atom DATA_CONTAINER 
 - PANEL- public static final Atom PANEL 
 - HSCROLL- public static final Atom HSCROLL 
 - VSCROLL- public static final Atom VSCROLL 
 - TITLE- public static final Atom TITLE 
 - TOOLTIP- public static final Atom TOOLTIP 
 - MESSAGE- public static final Atom MESSAGE 
 - TOASTER- public static final Atom TOASTER 
 - BADGE- public static final Atom BADGE 
 - POPUP- public static final Atom POPUP 
 - PLUGINS- public static final Atom PLUGINS 
 - CLASS- public static final Atom CLASS 
 - INPUT- public static final Atom INPUT 
 - BODY- public static final Atom BODY 
 - OUTPUT- public static final Atom OUTPUT 
 - JAVA- public static final Atom JAVA 
 - TIMESTAMP- public static final Atom TIMESTAMP 
 - WIDTH- public static final Atom WIDTH 
 - HEIGHT- public static final Atom HEIGHT 
 - FIELDS- public static final Atom FIELDS 
 - CID- public static final Atom CID 
 - ID- public static final Atom ID 
 - IDS- public static final Atom IDS 
 - ACTION- public static final Atom ACTION 
 - ACTIONS- public static final Atom ACTIONS 
 - ALIGN- public static final Atom ALIGN 
 - RTL- public static final Atom RTL 
 - LOCATION- public static final Atom LOCATION 
 - DELAY- public static final Atom DELAY 
 - DERIVES- public static final Atom DERIVES 
 - VSFIELD- public static final Atom VSFIELD 
 - VSTABLE- public static final Atom VSTABLE 
 - VSCOLUMN- public static final Atom VSCOLUMN 
 - QNAME- public static final Atom QNAME 
 - NAME- public static final Atom NAME 
 - ENCODING- public static final Atom ENCODING 
 - REFERENCE- public static final Atom REFERENCE 
 - VIRTUALSPACE- public static final Atom VIRTUALSPACE 
 - PARTICIPANTS- public static final Atom PARTICIPANTS 
 - PRIMARY- public static final Atom PRIMARY 
 - VALUE- public static final Atom VALUE 
 - MSG- public static final Atom MSG 
 - MCAT- public static final Atom MCAT 
 - DESCR- public static final Atom DESCR 
 - DEFAULT- public static final Atom DEFAULT 
 - GEO- public static final Atom GEO 
 - ZONES- public static final Atom ZONES 
 - LANG- public static final Atom LANG 
 - THEMES- public static final Atom THEMES 
 - DEVICE- public static final Atom DEVICE 
 - URI- public static final Atom URI 
 - URI_PARAMS- public static final Atom URI_PARAMS 
 - METHOD- public static final Atom METHOD 
 - OVERRIDE_METHOD- public static final Atom OVERRIDE_METHOD 
 - READ_TIMEOUT- public static final Atom READ_TIMEOUT 
 - IGNORE- public static final Atom IGNORE 
 - DOC- public static final Atom DOC 
 - CACHE- public static final Atom CACHE 
 - STYLE- public static final Atom STYLE 
 - WEIGHT- public static final Atom WEIGHT 
 - RANGE- public static final Atom RANGE 
 - CONTEXT_MENU- public static final Atom CONTEXT_MENU 
 - CONTEXT_MENU_REF- public static final Atom CONTEXT_MENU_REF 
 - DESIGNER- public static final Atom DESIGNER 
 - MODULE_APP- public static final Atom MODULE_APP 
 - PWA- public static final Atom PWA 
 - PUSH- public static final Atom PUSH 
 - ON_VS_CREATE- public static final java.lang.String ON_VS_CREATE - See Also:
- Constant Field Values
 
 - ON_VS_DESTROY- public static final java.lang.String ON_VS_DESTROY - See Also:
- Constant Field Values
 
 - ON_VS_ACTION- public static final java.lang.String ON_VS_ACTION - See Also:
- Constant Field Values
 
 - ON_VS_CHANGE- public static final java.lang.String ON_VS_CHANGE - See Also:
- Constant Field Values
 
 - ON_VS_FOCUS- public static final java.lang.String ON_VS_FOCUS - See Also:
- Constant Field Values
 
 - ON_VS_STATE- public static final java.lang.String ON_VS_STATE - See Also:
- Constant Field Values
 
 - ON_UI_CONNECT- public static final java.lang.String ON_UI_CONNECT - See Also:
- Constant Field Values
 
 - ON_UI_CREATE- public static final java.lang.String ON_UI_CREATE - See Also:
- Constant Field Values
 
 - ON_UI_DESTROY- public static final java.lang.String ON_UI_DESTROY - See Also:
- Constant Field Values
 
 - ON_UI_ACTION- public static final java.lang.String ON_UI_ACTION - See Also:
- Constant Field Values
 
 - ON_UI_BACK- public static final java.lang.String ON_UI_BACK - See Also:
- Constant Field Values
 
 - ON_UI_TEXT_CHANGE- public static final java.lang.String ON_UI_TEXT_CHANGE - See Also:
- Constant Field Values
 
 - ON_UI_VALUE_CHANGE- public static final java.lang.String ON_UI_VALUE_CHANGE - See Also:
- Constant Field Values
 
 - ON_UI_FOCUS- public static final java.lang.String ON_UI_FOCUS - See Also:
- Constant Field Values
 
 - ON_UI_SELECTION- public static final java.lang.String ON_UI_SELECTION - See Also:
- Constant Field Values
 
 - ATOM_ON_VS_CREATE- public static final Atom ATOM_ON_VS_CREATE 
 - ATOM_ON_VS_DESTROY- public static final Atom ATOM_ON_VS_DESTROY 
 - ATOM_ON_VS_ACTION- public static final Atom ATOM_ON_VS_ACTION 
 - ATOM_ON_VS_CHANGE- public static final Atom ATOM_ON_VS_CHANGE 
 - ATOM_ON_VS_FOCUS- public static final Atom ATOM_ON_VS_FOCUS 
 - ATOM_ON_VS_STATE- public static final Atom ATOM_ON_VS_STATE 
 - ATOM_ON_UI_CONNECT- public static final Atom ATOM_ON_UI_CONNECT 
 - ATOM_ON_UI_CREATE- public static final Atom ATOM_ON_UI_CREATE 
 - ATOM_ON_UI_DESTROY- public static final Atom ATOM_ON_UI_DESTROY 
 - ATOM_ON_UI_ACTION- public static final Atom ATOM_ON_UI_ACTION 
 - ATOM_ON_UI_BACK- public static final Atom ATOM_ON_UI_BACK 
 - ATOM_ON_UI_TEXT_CHANGE- public static final Atom ATOM_ON_UI_TEXT_CHANGE 
 - ATOM_ON_UI_VALUE_CHANGE- public static final Atom ATOM_ON_UI_VALUE_CHANGE 
 - ATOM_ON_UI_FOCUS- public static final Atom ATOM_ON_UI_FOCUS 
 - ATOM_ON_UI_SELECTION- public static final Atom ATOM_ON_UI_SELECTION 
 - VSFIELD_NAME- public static final java.lang.String VSFIELD_NAME - See Also:
- Constant Field Values
 
 
 - Method Detail- get- public static Atom get(java.lang.String name) Gets an existing or creates a new atom with the specified name.- Parameters:
- name- The atom name, following the rules.
- Throws:
- java.lang.NullPointerException- If the name is null.
- java.lang.IllegalArgumentException- If the name is invalid.
 
 - find- public static Atom find(java.lang.String name) Finds an atom that has been created previously by name, and that is still in use by some non-garbage-collected object.- Parameters:
- name- The name.
- Returns:
- The Atom for the name, or null if not found.
 
 - isValidName- public static boolean isValidName(java.lang.String name) Validates the atom name (apart of the leading '$' sign that should not be used unless for system defines).- Parameters:
- name- The atom name to verify.
- Returns:
- true for success, false for invalid name.
 
 - isValidName- public static boolean isValidName(java.lang.String name, boolean allowLeadingDollar)Validates the atom name.- Parameters:
- name- The atom name to verify.
- allowLeadingDollar- Flag indicating leading dollar is allowed or not.
- Returns:
- true for success, false for invalid name.
 
 - validateName- public static java.lang.String validateName(java.lang.String name) Validates the atom name (apart of the leading '$' sign that should not be used unless for system defines).- Parameters:
- name- The atom name to verify.
- Returns:
- The error message in English such as "cannot be empty" or "cannot contain...", or null for successful validation.
 
 - validateName- public static java.lang.String validateName(java.lang.String name, boolean allowLeadingDollar)Validates the atom name (apart of the leading '$' sign that should not be used unless for system defines).- Parameters:
- name- The atom name to verify.
- allowLeadingDollar- Flag indicating leading dollar is allowed or not.
- Returns:
- The error message in English such as "cannot be empty" or "cannot contain...", or null for successful validation.
 
 - createValidName- public static java.lang.String createValidName(java.lang.String string, boolean isLeadingDollarAllowed)Creates a valid name from a string. Only valid characters are used. If the name becomes empty, it will be returned as empty to be used for e.g. unique name creation, even if it is not allowed.- Parameters:
- string- The suggested name.
- isLeadingDollarAllowed- Leading '$' is allowed depending on flag.
 
 - isInside- public static boolean isInside(Atom atom, Atom[] atoms) Checks if an Atom is present in an array of Atoms.- Parameters:
- atom- The atom to find.
- atoms- The atom array.
- Returns:
- true if atom found in the atoms table.
 
 - equals- public boolean equals(java.lang.Object atom) Checks if an atom equals to another.- Overrides:
- equalsin class- java.lang.Object
- Parameters:
- atom- the atom to compare...
- Returns:
- true if the atom is equal to this object instance by reference ("==").
 
 - compareTo- public int compareTo(Atom atom) Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.- Specified by:
- compareToin interface- java.lang.Comparable<Atom>
- Parameters:
- atom- The object to be compared.
- Returns:
- A negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object. The comparison is done with a Collator with the Default Locale.
- Throws:
- java.lang.NullPointerException- if the specified object is null.
- java.lang.ClassCastException- if the specified object's type prevents it from being compared to this object.
 
 - getAtomName- public java.lang.String getAtomName() Gets the atom name.- Returns:
- the name of the atom.
 
 - toString- public java.lang.String toString() Converts the atom to a string in the format of- atom[name].- Overrides:
- toStringin class- java.lang.Object
 
 - hashCode- public int hashCode() Gets the hash code of the Atom, i.e. the hash code of the Atom Name.- Overrides:
- hashCodein class- java.lang.Object
- Returns:
- the hash code of the Atom Name.
 
 - clone- public Atom clone() Clones this atom.- Atoms do not need cloning, and this method returns the same Atom object as the name is invariable. - Overrides:
- clonein class- java.lang.Object
- Returns:
- A "clone" of the atom, i.e. the same "this" Atom object.