|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.jalios.jcms.TypeFieldEntry
public class TypeFieldEntry
This class holds all informations of a type's field.
Field Summary | |
---|---|
protected String |
chooser
|
protected int |
cols
|
protected String |
dataSource
|
protected String |
dateFormat
|
protected String |
dbrColumns
|
protected String |
dbrKeyCol
|
protected String |
dbrLabelCol
|
protected String |
dbrOrderBy
|
protected String |
dbrTable
|
protected int |
decimals
|
protected HashMap |
defaultTextMap
|
protected String |
defaultValue
|
protected Map |
descriptionMap
|
protected String |
editor
|
protected String[] |
enumerateLabels
|
protected boolean |
enumerateML
|
protected String[] |
enumerateValues
|
protected boolean |
escapeHtml
|
protected boolean |
fieldML
|
protected boolean |
fieldWiki
|
protected String[] |
gids
|
protected boolean |
isAbstract
|
protected boolean |
isDataImage
|
protected boolean |
isDateOnly
|
protected boolean |
isDisplayRoot
|
protected boolean |
isEnumerate
|
protected boolean |
isExclusive
|
protected boolean |
isFileChooser
|
protected boolean |
isHidden
|
protected boolean |
isImageMap
|
protected boolean |
isInline
|
protected boolean |
isKeyword
|
protected boolean |
isOpenWindow
|
protected boolean |
isRequired
|
protected boolean |
isResize
|
protected boolean |
isSearchable
|
protected boolean |
isSuper
|
protected boolean |
isTypeArray
|
protected boolean |
isTypeBoolean
|
protected boolean |
isTypeBooleanArray
|
protected boolean |
isTypeCategory
|
protected boolean |
isTypeDate
|
protected boolean |
isTypeDateArray
|
protected boolean |
isTypeDocument
|
protected boolean |
isTypeDocumentMV
|
protected boolean |
isTypeDouble
|
protected boolean |
isTypeDoubleArray
|
protected boolean |
isTypeInt
|
protected boolean |
isTypeIntArray
|
protected boolean |
isTypeList
|
protected boolean |
isTypeLong
|
protected boolean |
isTypeLongArray
|
protected boolean |
isTypePrimitive
|
protected boolean |
isTypePrimitiveArray
|
protected boolean |
isTypePublication
|
protected boolean |
isTypePublicationArray
|
protected boolean |
isTypePublicationMV
|
protected boolean |
isTypeScalar
|
protected boolean |
isTypeSet
|
protected boolean |
isTypeString
|
protected boolean |
isTypeStringArray
|
protected boolean |
isWidget
|
protected boolean |
isWysiwyg
|
protected Map |
labelMap
|
protected int |
maxlength
|
protected int |
maxRows
|
protected String |
name
|
protected String |
nameCap
|
protected Map |
offLabelMap
|
protected Map |
onLabelMap
|
protected String |
path
|
protected int |
resizeHeight
|
protected int |
resizeWidth
|
static String |
REVISION
|
protected String |
root
|
protected int |
rows
|
protected int |
size
|
protected String |
tab
|
protected String |
tabGroup
|
protected String |
type
|
protected Class |
typeClass
|
protected String |
typeShort
|
protected String |
unit
|
protected String |
unitAfter
|
protected String |
unitBefore
|
protected int |
widgetDescription
|
protected int |
widgetEditor
|
protected String |
wysiwygParams
|
protected org.jdom.Element |
xmlElt
|
Constructor Summary | |
---|---|
TypeFieldEntry(org.jdom.Element xmlElement)
|
Method Summary | |
---|---|
boolean |
escapeHtml()
Returns true if the HTML contained in this field must be escaped. |
boolean |
getBoolean(Data data)
Gets the value of this boolean field for the given Data . |
TreeSet |
getCategory(Data data,
Member mbr)
Gets the value of the given Category field name for the given Data . |
String |
getChooser()
Return the internal "chooser" of this field. |
String |
getCollectionTypeMapping()
|
int |
getCols()
TextInput/TextArea columns number. |
String |
getDataSource()
SQLQuery/DBRecord/SQLResult: data source of this SQL related field. |
String |
getDateFormat()
DateChooser: date format |
String |
getDbrColumns()
DBRecord: columns to be listed for this DB record field (coma separated) |
String |
getDbrKeyCol()
DBRecord: primary key column of this DB record field. |
String |
getDbrLabelCol()
DBRecord: column used as label for this DB record field |
String |
getDbrOrderBy()
DBRecord: ORDER BY SQL criteria DB record field |
String |
getDbrTable()
DBRecord: table of this DB record field. |
int |
getDecimals()
Double decimals count |
HashMap |
getDefaultTextMap()
Returns a copy of the language map of default value for this textual field. |
String |
getDefaultTextString()
Returns the default value (in the main language) of this textual field. |
String |
getDefaultValue()
Default value of field that can be expressed/converted into a string. |
String |
getDescription()
Deprecated. since jcms-5.7.0. |
String |
getDescription(String lang)
Returns the localized description of this field. |
Map |
getDescriptionMap()
Returns the localized map of description of this field. |
double |
getDouble(Data data)
Gets the value of this double field for the given Data . |
String |
getEditor()
Return the internal editor type of this field. |
String[] |
getEnumerateLabels()
Enumerate: Labels of the current field, e.g { "Red", "Green", "Blue"} for the default language of the type/site. |
String[] |
getEnumerateValues()
Enumerate: Values of the current field, e.g { "00FF00", "00FF00", "0000FF"}. |
String |
getFieldValueAsString(Data data,
String lang)
Gets value of the field as String for field of the following type:
int
long
double
boolean
String |
String[] |
getFieldValueAsStringArray(Data data,
String lang)
Gets value of the field as String[] for field of the following type:
int[]
long[]
double[]
boolean[]
String[]
List
Set |
String[] |
getGids()
Member chooser: Group IDs |
int |
getInt(Data data)
Gets the value of this int field for the given Data . |
String |
getLabel()
Deprecated. since jcms-5.7.0. |
String |
getLabel(String lang)
Returns the localized label of this field. |
Map |
getLabelMap()
Returns the Map of localized label of this field. |
long |
getLong(Data data)
Gets the value of this long field for the given Data . |
int |
getMaxlength()
TextInput maximum length. |
int |
getMaxRows()
SQLQuery/DBRecord/SQLResult: maximum row to be retrieved (0 means no limit) |
String |
getName()
Java name of this field. |
String |
getNameCap()
Recapitalized java name of this field, (first letter capitalized). |
Object |
getObject(Data data)
Gets the value of this Object field for the given Data . |
Object |
getObject(Data data,
String lang)
Gets the value of this Object field for the given Data . |
String |
getOffLabel(String lang)
Returns the localized offLabel for to this field. |
Map |
getOffLabelMap()
Boolean: false/OFF Label of a boolean field. |
String |
getOnLabel(String lang)
Returns the localized onLabel for to this field. |
Map |
getOnLabelMap()
Boolean: true/ON Label of a boolean field. |
String |
getPath()
Image/Media/FilePath: a remote path. |
int |
getResizeHeight()
Returns the resize height |
int |
getResizeWidth()
Returns the resize width |
String |
getRoot()
Categories: Root Category ID of this category field |
int |
getRows()
TextArea/WYSIWYG rows number. |
int |
getSize()
Enumerate: html Select size. |
String |
getTab()
Tab: tab name in which this field will be displayed. |
String |
getTabGroup()
TabGroup: group name for multivalued fields, all field having the same value will be display together. |
String |
getType()
Retrieve type of this field as String . |
String |
getTypeShort()
Short type of this field. |
String |
getUnit()
TextInput unit e.g. |
String |
getUnitAfter()
TextInput unit, displayed after input. |
String |
getUnitBefore()
TextInput unit, displayed before input. |
int |
getWidgetDescription()
Type of description to be used by widget: AbstractWidget.UI_DESCRIPTION_NONE
AbstractWidget.UI_DESCRIPTION_TEXT
AbstractWidget.UI_DESCRIPTION_TOOLTIP |
int |
getWidgetEditor()
Type of widget editor. |
String |
getWysiwygParams()
WYSIWYG toolbar options. |
org.jdom.Element |
getXmlElement()
XML Parsing: jdom Element for this field. |
protected void |
initDefault()
Init the default value. |
protected void |
initDescription()
|
protected void |
initEnumerate()
Init the enumerate values. |
protected void |
initUnits()
Init the field units |
protected void |
initWidgetEditor()
Find the right Widget editor |
boolean |
isAbstract()
Abstract/Summary field? |
boolean |
isAnyLink()
Is field's editor any type of link (i.e. |
boolean |
isCatEditor()
Widget Type. |
boolean |
isCatTreeEditor()
Widget Type. |
boolean |
isDataImage()
Image field? |
boolean |
isDateChsr()
Widget Type. |
boolean |
isDateOnly()
DateChooser: use date only, or date and time? |
boolean |
isDBRecordChsr()
Widget Type. |
boolean |
isDisplayRoot()
Categories: Display Root |
boolean |
isEnumerate()
Enumerate. |
boolean |
isEnumerateML()
Enumerate: multilanguage. |
boolean |
isExclusive()
Categories: Exclusive. |
boolean |
isFieldML()
|
boolean |
isFieldWiki()
TextArea. |
boolean |
isFileChooser()
Returns true if this is an image field with fileChooser option enabled. |
boolean |
isGrpChsr()
Widget Type. |
boolean |
isGrpEnum()
Widget Type. |
boolean |
isHidden()
Hidden field? |
boolean |
isImageMap()
Returns true if this is an image field with imageMap option enabled. |
boolean |
isInline()
Inline editing ? |
boolean |
isKeyword()
Return true if the field display keywords |
boolean |
isLink()
Is field's editor a link (as opposed to a chooser for example). |
boolean |
isMasterImageMap()
Returns true if this field is the image field of an image map field. |
boolean |
isMbrChsr()
Widget Type. |
boolean |
isMbrEnum()
Widget Type. |
boolean |
isOpenWindow()
Returns true if this is an URL field which must be open in a new window. |
boolean |
isRequired()
Required field? |
boolean |
isResize()
Returns true if this is an image field which must be resized. |
boolean |
isSearchable()
Searchable field |
boolean |
isSimpleString()
|
boolean |
isSlaveImageMap()
Returns true if this field is the text area field generated aside the real image field. Warning: this field was not really saved in the type's xml, but is instead only created at JSP generation time. |
boolean |
isSQLQuery()
Widget Type. |
boolean |
isSuper()
|
boolean |
isTypeArray()
|
boolean |
isTypeBoolean()
Type: boolean? |
boolean |
isTypeBooleanArray()
Type: boolean[]? |
boolean |
isTypeCategory()
|
boolean |
isTypeCollection()
|
boolean |
isTypeDate()
Type: Date? |
boolean |
isTypeDateArray()
Type: Date[]? |
boolean |
isTypeDocument()
Type: FileDocument? or DBFileDocument? |
boolean |
isTypeDocumentMV()
Type: FileDocument MV? or DBFileDocument MV? |
boolean |
isTypeDouble()
Type: double? |
boolean |
isTypeDoubleArray()
Type: double[]? |
boolean |
isTypeInt()
Type: int? |
boolean |
isTypeIntArray()
Type: int[]? |
boolean |
isTypeList()
|
boolean |
isTypeLong()
Type: long? |
boolean |
isTypeLongArray()
Type: long[]? |
boolean |
isTypeMV()
|
boolean |
isTypePrimitive()
|
boolean |
isTypePrimitiveArray()
|
boolean |
isTypePublication()
Type: Publication? |
boolean |
isTypePublicationArray()
Type: Publication[]? |
boolean |
isTypePublicationMV()
Type: Publication MV |
boolean |
isTypeScalar()
|
boolean |
isTypeSet()
|
boolean |
isTypeString()
Type: String? |
boolean |
isTypeStringArray()
Type: String[]? |
boolean |
isUrl()
URL. |
boolean |
isWidget()
Is this field manage through a widget |
boolean |
isWysiwyg()
Wysiwyg. |
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final String REVISION
protected final org.jdom.Element xmlElt
protected String type
protected String typeShort
protected Class typeClass
protected boolean isTypeInt
protected boolean isTypeIntArray
protected boolean isTypeLong
protected boolean isTypeLongArray
protected boolean isTypeDouble
protected boolean isTypeDoubleArray
protected boolean isTypeBoolean
protected boolean isTypeBooleanArray
protected boolean isTypePrimitive
protected boolean isTypePrimitiveArray
protected boolean isTypeString
protected boolean isTypeStringArray
protected boolean isTypeDate
protected boolean isTypeDateArray
protected boolean isTypeArray
protected boolean isTypeList
protected boolean isTypeSet
protected boolean isTypeScalar
protected boolean isTypePublication
protected boolean isTypePublicationArray
protected boolean isTypePublicationMV
protected boolean isTypeDocument
protected boolean isTypeDocumentMV
protected boolean isTypeCategory
protected boolean isEnumerate
protected boolean isWidget
protected boolean isWysiwyg
protected Map labelMap
protected String editor
protected String name
protected String nameCap
protected String tab
protected Map descriptionMap
protected int widgetEditor
protected int widgetDescription
protected boolean isSuper
protected boolean isRequired
protected boolean isInline
protected boolean isHidden
protected boolean isAbstract
protected boolean isDataImage
protected boolean isSearchable
protected boolean isKeyword
protected boolean fieldML
protected boolean fieldWiki
protected int cols
protected int maxlength
protected int rows
protected int size
protected String[] enumerateLabels
protected String[] enumerateValues
protected boolean enumerateML
protected String dataSource
protected int maxRows
protected String dbrTable
protected String dbrKeyCol
protected String dbrColumns
protected String dbrLabelCol
protected String dbrOrderBy
protected boolean isDateOnly
protected String dateFormat
protected String wysiwygParams
protected String tabGroup
protected String path
protected Map onLabelMap
protected Map offLabelMap
protected String unit
protected String unitAfter
protected String unitBefore
protected int decimals
protected String root
protected boolean isExclusive
protected boolean isDisplayRoot
protected String chooser
protected String[] gids
protected String defaultValue
protected HashMap defaultTextMap
protected boolean isFileChooser
protected boolean isImageMap
protected boolean isOpenWindow
protected boolean isResize
protected int resizeWidth
protected int resizeHeight
protected boolean escapeHtml
Constructor Detail |
---|
public TypeFieldEntry(org.jdom.Element xmlElement)
Method Detail |
---|
protected void initEnumerate()
protected void initUnits()
protected void initDefault()
protected void initWidgetEditor()
protected void initDescription()
public String toString()
toString
in class Object
public org.jdom.Element getXmlElement()
Element
of this field.public int getInt(Data data) throws NoSuchFieldException
int
field for the given Data
.
data
- the Data
from which to retrieve the field value.
int
field value
NoSuchFieldException
- if the field was not found in the given Data
.
NullPointerException
- if the given Data
is null.Data.getIntFieldValue(String)
public long getLong(Data data) throws NoSuchFieldException
long
field for the given Data
.
data
- the Data
from which to retrieve the field value.
long
field value
NoSuchFieldException
- if the field was not found in the given Data
.
NullPointerException
- if the given Data
is null.Data.getLongFieldValue(String)
public double getDouble(Data data) throws NoSuchFieldException
double
field for the given Data
.
data
- the Data
from which to retrieve the field value.
double
field value
NoSuchFieldException
- if the field was not found in the given Data
.
NullPointerException
- if the given Data
is null.Data.getDoubleFieldValue(String)
public boolean getBoolean(Data data) throws NoSuchFieldException
boolean
field for the given Data
.
data
- the Data
from which to retrieve the field value.
boolean
field value
NoSuchFieldException
- if the field was not found in the given Data
.
NullPointerException
- if the given Data
is null.Data.getBooleanFieldValue(String)
public TreeSet getCategory(Data data, Member mbr) throws NoSuchFieldException
Category
field name for the given Data
.
data
- the Data
from which to retrieve the field value.mbr
- the member used to check rigth access to categories.
TreeSet
of Category
NoSuchFieldException
- if the field was not found in the given Data
.
NullPointerException
- if the given Data
is null.Data.getCategoryFieldValue(String, Member)
public Object getObject(Data data) throws NoSuchFieldException
Object
field for the given Data
. Category
fields, see #getCategory(Member).
data
- the Data
from which to retrieve the field value.
Object
field value
NoSuchFieldException
- if the field was not found in the given Data
.
NullPointerException
- if the given Data
is null.Data.getFieldValue(String)
public Object getObject(Data data, String lang) throws NoSuchFieldException
Object
field for the given Data
. Category
fields, see #getCategory(Member).
data
- the Data
from which to retrieve the field value.lang
- the language (ISO 639: 2-letter codes) in which to retrieve the field value (used only for multilingual fields).
Object
field value
NoSuchFieldException
- if the field was not found in the given Data
.
NullPointerException
- if the given Data
is null.Data.getFieldValue(String, String)
public String getFieldValueAsString(Data data, String lang) throws NoSuchFieldException
String
for field of the following type:
int
long
double
boolean
String
data
- the data from which to retrive the given fieldlang
- the lang in which to retrieve the field if multilang
String
, null if the field value cannot be converted to the type String
.
NoSuchFieldException
- if the field was not found in the given Data
.public String[] getFieldValueAsStringArray(Data data, String lang) throws NoSuchFieldException
String[]
for field of the following type:
int[]
long[]
double[]
boolean[]
String[]
List
Set
data
- the data from which to retrive the given fieldlang
- the lang in which to retrieve the field, if field is multi-lang
String[]
, null if the field value cannot be converted to the type String[]
.
NoSuchFieldException
- if the field was not found in the given Data
.@Deprecated public String getLabel()
getLabel(String)
public String getLabel(String lang)
lang
- the language
public Map getLabelMap()
public String getName()
String
public String getNameCap()
String
@Deprecated public String getDescription()
getDescription(String)
public String getDescription(String lang)
lang
- the language
public Map getDescriptionMap()
public String getType()
String
. "int"
, "int[]"
"long"
, "long[]"
"double"
, "double[]"
"boolean"
, "boolean[]"
"String"
, "String[]"
"java.util.Date"
, "java.util.Date[]"
"com.jalios.jcms.Publication"
, "com.jalios.jcms.Publication[]"
and its subclasses"com.jalios.jcms.Content"
, "com.jalios.jcms.Content[]"
and its subclasses"com.jalios.jcms.portlet.PortalElement"
, "com.jalios.jcms.portlet.PortalElement[]"
"com.jalios.jcms.Group"
, "com.jalios.jcms.Group[]"
"com.jalios.jcms.Member"
, "com.jalios.jcms.Member[]"
"java.util.TreeSet"
(for Categories)"super"
marks the place (for the edit form) where the inherited field are located.
String or "super" if this field mark the place of inherited fields.
public String getTypeShort()
String if any, or "super" if this field mark the place of inherited fields.- See Also:
getType()
public String getCollectionTypeMapping()
public boolean isTypeInt()
int
.getType()
public boolean isTypeIntArray()
int[]
.getType()
public boolean isTypeLong()
long
.getType()
public boolean isTypeLongArray()
long[]
.getType()
public boolean isTypeDouble()
double
.getType()
public boolean isTypeDoubleArray()
double[]
.getType()
public boolean isTypeBoolean()
boolean
.getType()
public boolean isTypeBooleanArray()
boolean[]
.getType()
public boolean isTypePrimitive()
int
, long
, double
or boolean
).getType()
,
isTypeInt()
,
isTypeLong()
,
isTypeDouble()
,
isTypeBoolean()
public boolean isTypePrimitiveArray()
int[]
, long[]
, double[]
or boolean[]
).getType()
,
isTypeIntArray()
,
isTypeLongArray()
,
isTypeDoubleArray()
,
isTypeBooleanArray()
public boolean isTypeString()
String
.getType()
public boolean isTypeStringArray()
String[]
.getType()
public boolean isTypeDate()
Date
.getType()
public boolean isTypeDateArray()
Date[]
.getType()
public boolean isTypeScalar()
getType()
public boolean isTypeMV()
getType()
public boolean isTypeArray()
getType()
public boolean isTypeList()
getType()
public boolean isTypeSet()
getType()
public boolean isTypeCollection()
getType()
public boolean isTypeCategory()
TreeSet
of Category
).getEditor()
,
getType()
public boolean isTypePublication()
Publication
.getType()
public boolean isTypePublicationArray()
Publication[]
.getType()
public boolean isTypePublicationMV()
Publication[]
, a List extends Publication>
or Set extends Publication>
.getType()
public boolean isTypeDocument()
Document
.getType()
public boolean isTypeDocumentMV()
FileDocument[]
, a List extends FileDocument>
or Set extends FileDocument>
.getType()
public boolean isRequired()
public boolean isInline()
public boolean isHidden()
public boolean isAbstract()
public boolean isDataImage()
public boolean isSearchable()
public boolean isSimpleString()
String
or a String[]
AND not an enumerate neither a wysywig.getType()
,
isEnumerate()
,
isWysiwyg()
public boolean isSuper()
getType()
public String getEditor()
"category"
"color"
"date"
"email"
"enumerate"
"file"
"image"
"media"
"password"
"query"
"textarea"
"textfield"
"url"
"wysiwyg"
"radio"
"check"
"list"
"combo"
"int"
, "int[]"
"double"
, "double[]"
"boolean"
, "boolean[]"
"member"
, "member[]"
"group"
, "group[]"
"link"
, "link[]"
"duration"
, "duration[]"
"date"
, "date[]"
"sqlquery"
, "sqlquery[]"
"dbrecord"
, "dbrecord[]"
String
public boolean isLink()
getEditor()
public boolean isAnyLink()
public String getChooser()
"checkbox"
"combo"
"listbox"
"multilistbox"
"popup"
"tree"
public boolean isFieldML()
public String getDefaultValue()
String
with the default value of this field.public HashMap getDefaultTextMap()
public String getDefaultTextString()
public boolean isUrl()
public boolean isFieldWiki()
public boolean isWysiwyg()
public int getCols()
public int getMaxlength()
public int getRows()
public String getUnit()
public String getUnitBefore()
public String getUnitAfter()
public int getDecimals()
public String getWysiwygParams()
public boolean isFileChooser()
public boolean isImageMap()
public boolean isOpenWindow()
public boolean isResize()
public int getResizeWidth()
public int getResizeHeight()
public boolean escapeHtml()
public boolean isSlaveImageMap()
public boolean isMasterImageMap()
public String getDataSource()
public int getMaxRows()
public String getDbrTable()
public String getDbrKeyCol()
public String getDbrColumns()
String
with coma separated SQL columns name SQL listed for this DB record field.public String getDbrLabelCol()
String
with the SQL column name used a label for this DB record fieldpublic String getDbrOrderBy()
String
with the ORDER BY SQL criteria for this DB record fieldpublic boolean isEnumerate()
public int getSize()
select
in a html form.public String[] getEnumerateLabels()
String[]
containing all labels for this field, or null if this field is not an enumeratepublic String[] getEnumerateValues()
String[]
containing all values for this field, or null if this field is not an enumerate.public boolean isEnumerateML()
true
if this field has multilanguage labels (field contains labelList_en... etc).public boolean isDateOnly()
public String getDateFormat()
public String getRoot()
String
with the ID of the root Category of this fieldpublic boolean isDisplayRoot()
public boolean isExclusive()
public String[] getGids()
String[]
containing the jcms id of the Group
from which we choose Member
.public String getPath()
String with the remote path where to open FileChooser or upload image
public Map getOffLabelMap()
Map {language, label} with the label to use for the false/off value of this boolean.
public String getOffLabel(String lang)
lang
- the language
public Map getOnLabelMap()
Map
{language, label} with the label to use for the true/on value of this boolean.public String getOnLabel(String lang)
lang
- the language
public String getTab()
String
with the name of the tab.public String getTabGroup()
public boolean isWidget()
public int getWidgetEditor()
public int getWidgetDescription()
AbstractWidget.UI_DESCRIPTION_NONE
AbstractWidget.UI_DESCRIPTION_TEXT
AbstractWidget.UI_DESCRIPTION_TOOLTIP
public boolean isMbrChsr()
public boolean isMbrEnum()
public boolean isGrpChsr()
public boolean isGrpEnum()
public boolean isDateChsr()
public boolean isCatEditor()
public boolean isSQLQuery()
public boolean isDBRecordChsr()
public boolean isCatTreeEditor()
public boolean isKeyword()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |