|
SEO Domain Index Crisopeya IM v1.0.0 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.crisopeya.product.SEO_Domain_Index_rg.SEO_Domain_Index_rgStaticScheme
public class SEO_Domain_Index_rgStaticScheme
Holds all the SEO Domain Index (external link)
application defined requirements. It is used by the CRISOPEYA Platform
logic, together with the SEO_Domain_Index_rgStaticModel
to retrieve SEO Domain Index (external link) IM
scheme information.
It also contains all the required information to generate an updated
version of the application.
Scheme Information
This class is a member of the Crisopeya IM Scheme Framework. The
IM scheme information is divided into six classes according to the
application layer scope and the interface implementation, as shown in
the following diagram:
SEO_Domain_Index_rgStaticModel
, SEO_Domain_Index_rgModel
, SEO_Domain_Index_rgDbStaticModel
, SEO_Domain_Index_rgDbModel
, SEO_Domain_Index_rgUiStaticModel
and SEO_Domain_Index_rgUiModel
Scheme
interface, the SEO_Domain_Index_rgScheme
utility class is implemented.java.util.List
lists
are used to store scheme information, instead of arrays, because Java
arrays objects cannot be immutable. An immutable object is one whose
externally visible state cannot change after it is instantiated.
Immutable objects are inherently thread-safe and cannot get into an
inconsistent state. You can freely share and cache these object
references without having to copy or clone them. Most of the CRISOPEYA
IM Scheme information is immutable, and therefore the Class that bests
suits for scheme information management should be referenced as
immutable.final
keyword is included in Java to declare
immutability. However, while fields can be declared final
;
array, list and collection elements cannot. To avoid this limitation,
the Collections.unmodifiableCollection
wrapper implementation returns an
unmodifiable view of the specified Lists
, making
that reference inmutable.static final String[] DATATYPES = {...};Then the SEO Domain Index (external link) DATATYPES Scheme information would not be immutable for a caller who gets the field reference. With the field reference, he could modify the DATATYPES array content using, for example, the following assignment:
DATATYPES[0] = DataTypes.TEXT;Instead, to overcome this limitation, a DATATYPE
List
is used for the scheme DATATYPES declaration:static final List<String> DATATYPES = Arrays.asList(...);And all DATATYPES field references get an unmodifiable DATATYPES
List
though SEO_Domain_Index_rgScheme
using the Collections.unmodifiableCollection
wrapper:public List<String> getDatatypes() { return Collections.unmodifiableList(DATATYPES); }If a caller who obtains a reference tries to change the list contents using, for example, the following code:
DATATYPES.set(0, DataTypes.TEXT);Then no modification would be made and an
UnsupportedOperationException
will be thrown.
SEO_Domain_Index_rgScheme
,
SEO_Domain_Index_rgModel
Field Summary | |
---|---|
protected static List<String> |
COLUMNNAMES
Database column names for each field in the SEO Domain Index (external link) Information Module. |
protected static List<String> |
DATATYPES
Datatype for each field in the SEO Domain Index (external link) Information Module. |
protected static List<String> |
fieldOrdering
Field ordering direction for the default ordering configuration for the SEO Domain Index (external link) Information Module. |
protected static List<Integer> |
fieldPriority
Field priority for the default ordering configuration for the SEO Domain Index (external link) Information Module. |
protected static List<String> |
FIELDSSIZE
Where applicable, datatype size on the database for the fields in the SEO Domain Index (external link) Information Module. |
static int |
label
The index of the SEO Domain Index (external link) module field to be used as label. |
protected static List<String> |
longLabels
Long label for the SEO Domain Index (external link) Information Module fields. |
static String |
MODELNAME
Internal name of the SEO Domain Index (external link) Information Module. |
protected static List<Boolean> |
NULLALLOWED
Boolean array containing whether the "null allowed" constraint applies for each field in the SEO Domain Index (external link) Information Module. |
static int |
NUMBEROFFIELDS
Number of fields for the SEO Domain Index (external link) Information Module. |
protected static List<String> |
shortLabels
Short label for the SEO Domain Index (external link) Information Module fields. |
protected static List<Integer> |
uiColumnSizes
Graphical User Interface column size for each field in the SEO Domain Index (external link) Information Module. |
static String |
UIMODELNAME
Name of the SEO Domain Index (external link) Information Module for the User Interface. |
protected static List<Boolean> |
UNIQUE
Boolean array containing whether the "unique" constraint applies for each field in the SEO Domain Index (external link) Information Module. |
Constructor Summary | |
---|---|
SEO_Domain_Index_rgStaticScheme()
|
Method Summary |
---|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String MODELNAME
public static final String UIMODELNAME
public static final int NUMBEROFFIELDS
protected static final List<Boolean> UNIQUE
protected static final List<Boolean> NULLALLOWED
public static int label
protected static final List<String> COLUMNNAMES
protected static final List<String> DATATYPES
protected static final List<String> FIELDSSIZE
protected static List<Integer> fieldPriority
fieldOrdering
protected static List<String> fieldOrdering
fieldPriority
protected static List<String> longLabels
protected static List<String> shortLabels
protected static List<Integer> uiColumnSizes
Constructor Detail |
---|
public SEO_Domain_Index_rgStaticScheme()
|
SEO Domain Index Crisopeya IM v1.0.0 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |