|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectde.uni_paderborn.fujaba.basic.BasicIncrement
de.uni_paderborn.fujaba.asg.ASGElement
de.uni_paderborn.fujaba.uml.UMLIncrement
de.uni_paderborn.fujaba.uml.UMLDiagramItem
de.uni_paderborn.fujaba.uml.UMLDeclaration
de.uni_paderborn.fujaba.uml.UMLAttr
+-----------+ 1 1
UMLClass | getName() +------------------ UMLAttr
+-----------+ parent attrs
0..1 0..1
UMLRole ------------------------------------------------ UMLAttr
implementingAssocRole associatedAttribute
0..* 0..1
UMLMethod -------------------------------------- UMLAttr
accessMethods accessedAttribute
| Nested Class Summary |
| Nested classes inherited from class de.uni_paderborn.fujaba.asg.ASGElement |
ASGElement.SortByNameComparator |
| Field Summary | |
private de.upb.tools.fca.FHashSet |
accessMethods
0..* Assoc 0..1 UMLMethod -------------------------------------- UMLAttr accessMethods accessedAttribute |
private UMLType |
attrType
No comment provided by developer, please add a comment to improve documentation. |
static int |
CREATE_ACCESS_METHODS_DEFAULT
No comment provided by developer, please add a comment to improve documentation. |
static int |
CREATE_ACCESS_METHODS_NO
No comment provided by developer, please add a comment to improve documentation. |
static int |
CREATE_ACCESS_METHODS_YES
No comment provided by developer, please add a comment to improve documentation. |
private int |
createAccessMethods
No comment provided by developer, please add a comment to improve documentation. |
private UMLRole |
implementingAssocRole
0..1 Assoc 0..1 UMLRole ------------------------------------------------ UMLAttr implementingAssocRole associatedAttribute |
private java.lang.String |
initialValue
No comment provided by developer, please add a comment to improve documentation. |
private de.upb.tools.fca.FTreeSet |
instances
No comment provided by developer, please add a comment to improve documentation. |
private boolean |
javaFinal
No comment provided by developer, please add a comment to improve documentation. |
private boolean |
javaTransient
No comment provided by developer, please add a comment to improve documentation. |
private static org.apache.log4j.Logger |
log
log4j logging |
private java.lang.String |
name
No comment provided by developer, please add a comment to improve documentation. |
private UMLClass |
parent
+-----------+ 1 1 UMLClass | getName() +------------------ UMLAttr +-----------+ parent attrs |
private boolean |
pointer
No comment provided by developer, please add a comment to improve documentation. |
static java.lang.String |
PROPERTY_ATTR_TYPE
No comment provided by developer, please add a comment to improve documentation. |
static java.lang.String |
PROPERTY_NAME
No comment provided by developer, please add a comment to improve documentation. |
static java.lang.String |
PROPERTY_UML_STATIC
No comment provided by developer, please add a comment to improve documentation. |
private de.upb.tools.fca.FHashSet |
revQualifiedAttr
n qualifiedAttr 0..1 UMLQualifier ------------------------------------- UMLAttr revQualifiedAttr qualifiedAttr |
private static boolean |
syncVisibilities
No comment provided by developer, please add a comment to improve documentation. |
private boolean |
umlStatic
No comment provided by developer, please add a comment to improve documentation. |
private int |
umlVisibility
Deprecated. use setVisibility(int) instead |
static int |
UNUSED
No comment provided by developer, please add a comment to improve documentation. |
| Fields inherited from class de.uni_paderborn.fujaba.uml.UMLDeclaration |
|
| Fields inherited from class de.uni_paderborn.fujaba.uml.UMLDiagramItem |
|
| Fields inherited from class de.uni_paderborn.fujaba.uml.UMLIncrement |
|
| Fields inherited from class de.uni_paderborn.fujaba.asg.ASGElement |
|
| Fields inherited from class de.uni_paderborn.fujaba.basic.BasicIncrement |
dontUseAccessMethodsInThisClass |
| Fields inherited from interface de.uni_paderborn.fujaba.metamodel.FAttr |
ATTR_TYPE_PROPERTY, INITIAL_VALUE_PROPERTY, PARENT_PROPERTY, REV_QUALIFIED_ATTR, STATIC_PROPERTY |
| Fields inherited from interface de.uni_paderborn.fujaba.metamodel.FDeclaration |
CODE_DISPLAY_LEVEL, DESIGN_DISPLAY_LEVEL, PACKAGE, PRIVATE, PROTECTED, PUBLIC, USERDEFINED, VISIBILITY_CHAR, VISIBILITY_PROPERTY, VISIBILITY_STRING |
| Fields inherited from interface de.uni_paderborn.fujaba.metamodel.FDiagramItem |
REV_ADDITIONAL_ITEMS_PROPERTY, REV_ITEMS_PROPERTY, VIEW_DEFINITIONS_PROPERTY |
| Fields inherited from interface de.uni_paderborn.fujaba.metamodel.FIncrement |
ASSERT_IN_UNIT_TEST_PROPERTY, COMMENT_PROPERTY, CONSTRAINTS_PROPERTY, STEREOTYPES_PROPERTY |
| Fields inherited from interface de.uni_paderborn.fujaba.metamodel.FElement |
ANNOTATIONS_PROPERTY, DIAGRAMS_PROPERTY, ELEMENT_REFERENCES_PROPERTY, GENERATED_PROPERTY, NAME_PROPERTY, TEXT_PROPERTY |
| Constructor Summary | |
UMLAttr()
Constructor for class UMLAttr |
|
UMLAttr(boolean coobraPersistent)
Constructor for class UMLAttr |
|
UMLAttr(int visibility,
java.lang.String type,
java.lang.String name,
java.lang.String initialValue,
boolean umlStatic,
boolean javaFinal)
Constructor for class UMLAttr |
|
UMLAttr(int visibility,
java.lang.String type,
java.lang.String name,
java.lang.String initialValue,
boolean umlStatic,
boolean javaFinal,
UMLClass parent)
Constructor for class UMLAttr |
|
UMLAttr(java.lang.String name,
boolean umlStatic,
boolean javaFinal,
int visibility,
java.lang.String initialValue,
UMLType attrType)
Constructor for class UMLAttr |
|
UMLAttr(java.lang.String name,
boolean umlStatic,
boolean javaFinal,
int visibility,
java.lang.String initialValue,
UMLType attrType,
UMLClass parent,
UMLConstraint constraint)
Constructor for class UMLAttr |
|
| Method Summary | |
boolean |
addToAccessMethods(UMLMethod value)
UMLMethod: '+ addToAccessMethods (value: UMLMethod): Boolean'. |
void |
addToInstances(UMLAttrExprPair elem)
Access method for an one to n association. |
boolean |
addToRevQualifiedAttr(FQualifier value)
|
java.util.Enumeration |
elementsOfInstances()
No comment provided by developer, please add a comment to improve documentation. |
UMLMethod |
findAccessMethod(int type)
Search for an associated access method of the specified type. |
static void |
fixVisibilities()
No comment provided by developer, please add a comment to improve documentation. |
private static void |
fixVisibilities(UMLClass umlClass)
No comment provided by developer, please add a comment to improve documentation. |
private static void |
fixVisibilities(UMLPackage umlPackage)
No comment provided by developer, please add a comment to improve documentation. |
private static void |
fixVisibilities(UMLProject project)
No comment provided by developer, please add a comment to improve documentation. |
private static void |
fixVisibility(UMLAttr umlAttr)
No comment provided by developer, please add a comment to improve documentation. |
UMLType |
getAttrType()
Get the attrType attribute of the UMLAttr object |
int |
getCreateAccessMethods()
Get the createAccessMethods attribute of the UMLAttr object |
FType |
getFAttrType()
Get the fAttrType attribute of the UMLAttr object |
FRole |
getFImplementingAssocRole()
Get the fImplementingAssocRole attribute of the UMLAttr object |
FClass |
getFParent()
Get the fParent attribute of the UMLAttr object |
UMLRole |
getImplementingAssocRole()
UMLMethod: '+ getImplementingAssocRole (): UMLRole'. |
java.lang.String |
getInitialValue()
Get the initialValue attribute of the UMLAttr object |
java.lang.String |
getName()
Get the name attribute of the UMLAttr object |
java.lang.String |
getNameUpdate()
Get the nameUpdate attribute of the UMLAttr object |
UMLClass |
getParent()
Get the parent attribute of the UMLAttr object |
FElement |
getParentElement()
Query the logical parent of this element (e.g. package of a class, diagram of an object). |
java.lang.String |
getText()
Get the text attribute of the UMLAttr object |
UMLType |
getUMLType()
Get the uMLType attribute of the UMLAttr object |
int |
getUmlVisibility()
Deprecated. use UMLDeclaration.getVisibility() instead. Having visibility and umlVisibility
in parallel was only necessary to handle attrs without access methods |
static java.lang.String |
getVisibilityType(int visibility)
Get the visibilityType attribute of the UMLAttr class |
boolean |
hasAccessMethod(int type)
Check whether this attribute has an associated access method of the specified type. |
boolean |
hasAccessMethods()
Check whether this attribute has associated access methods or not. |
boolean |
hasInAccessMethods(UMLMethod value)
UMLMethod: '+ hasInAccessMethods (value: UMLMethod): Boolean'. |
boolean |
hasInInstances(UMLAttrExprPair elem)
No comment provided by developer, please add a comment to improve documentation. |
boolean |
hasInRevQualifiedAttr(FQualifier value)
|
boolean |
isConstant()
Get the constant attribute of the UMLAttr object |
boolean |
isFinal()
Get the final attribute of the UMLAttr object |
boolean |
isNeedsAccessMethods()
Get the needsAccessMethods attribute of the UMLAttr object |
boolean |
isNoAccessMethods()
Deprecated. use getCreateAccessMethods() instead |
boolean |
isPointer()
Deprecated. |
boolean |
isStatic()
Get the static attribute of the UMLAttr object |
static boolean |
isSyncVisibilities()
Deprecated. Move to GUI? |
boolean |
isTransient()
Get the transient attribute of the UMLAttr object |
boolean |
isUmlStatic()
Get the umlStatic attribute of the UMLAttr object |
java.util.Iterator |
iteratorOfAccessMethods()
UMLMethod: '+ iteratorOfAccessMethods (): Iterator'. |
java.util.Iterator |
iteratorOfInstances()
No comment provided by developer, please add a comment to improve documentation. |
java.util.Iterator |
iteratorOfRevQualifiedAttr()
|
void |
readAttributes(java.util.Hashtable objects,
de.upb.tools.fca.FDuplicatedTreeMap attributes)
No comment provided by developer, please add a comment to improve documentation. |
void |
removeAllFromAccessMethods()
UMLMethod: '+ removeAllFromAccessMethods (): Void'. |
void |
removeAllFromInstances()
No comment provided by developer, please add a comment to improve documentation. |
void |
removeAllFromRevQualifiedAttr()
No comment provided by developer, please add a comment to improve documentation. |
boolean |
removeFromAccessMethods(UMLMethod value)
UMLMethod: '+ removeFromAccessMethods (value: UMLMethod): Boolean'. |
void |
removeFromInstances(UMLAttrExprPair elem)
No comment provided by developer, please add a comment to improve documentation. |
boolean |
removeFromRevQualifiedAttr(FQualifier value)
|
void |
removeYou()
Isolates the object so the garbage collector can remove it. |
void |
setAttrType(FType attrType)
Sets the attrType attribute of the UMLAttr object |
void |
setAttrType(java.lang.String tmpType)
Sets the attribute type by its name. |
void |
setCreateAccessMethods(int createAccessMethods)
Sets the createAccessMethods attribute of the UMLAttr object |
void |
setCutCopyPasteParent(FElement parent)
Hangs the current ASGElement into the ASG-tree. |
void |
setFinal(boolean javaFinal)
Sets the final attribute of the UMLAttr object |
boolean |
setImplementingAssocRole(FRole value)
UMLMethod: '+ setImplementingAssocRole (value: UMLRole): Boolean'. |
void |
setInitialValue(java.lang.String initialValue)
Sets the initialValue attribute of the UMLAttr object |
void |
setName(java.lang.String newName)
Sets the name attribute of the UMLAttr object |
void |
setNameUpdate(java.lang.String value)
Sets the nameUpdate attribute of the UMLAttr object |
void |
setNoAccessMethods(boolean noAccessMethods)
Deprecated. use getCreateAccessMethods() instead |
boolean |
setParent(FClass obj)
Sets the parent attribute of the UMLAttr object |
void |
setPointer(boolean pointer)
Deprecated. |
void |
setStatic(boolean umlStatic)
Sets the static attribute of the UMLAttr object |
static void |
setSyncVisibilities(boolean sync)
Sync umlVisibility and visibility. |
void |
setTransient(boolean javaTransient)
Sets the transient attribute of the UMLAttr object |
void |
setUmlStatic(boolean umlStatic)
Sets the umlStatic attribute of the UMLAttr object |
void |
setUmlVisibility(int newUmlVisibility)
Deprecated. use setVisibility(int) instead. Having visibility and
umlVisibility in parallel was only necessary to handle attrs without access methods |
void |
setVisibility(int visibility)
Sets the visibility attribute of the UMLAttr object |
int |
sizeOfAccessMethods()
UMLMethod: '+ sizeOfAccessMethods (): Integer'. |
int |
sizeOfRevQualifiedAttr()
|
java.lang.String |
toString()
No comment provided by developer, please add a comment to improve documentation. |
void |
writeAttributes(java.lang.StringBuffer data,
de.upb.tools.fca.FTreeSet setOfNeighbours)
No comment provided by developer, please add a comment to improve documentation. |
| Methods inherited from class de.uni_paderborn.fujaba.uml.UMLDeclaration |
getDisplayLevel, getFType, getVisibility, isParsed, setDisplayLevel, setParsed |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface de.uni_paderborn.fujaba.metamodel.FDeclaration |
getDisplayLevel, getFType, getVisibility, isParsed, setDisplayLevel |
| Methods inherited from interface de.uni_paderborn.fujaba.metamodel.FIncrement |
addToConstraints, addToStereotypes, entriesOfStereotypes, getFComment, getFromFStereotypes, hasInConstraints, hasInStereotypes, hasKeyInStereotypes, isAssertInUnitTest, iteratorOfConstraints, iteratorOfStereotypes, keysOfStereotypes, removeAllFromConstraints, removeAllFromStereotypes, removeFromConstraints, removeFromStereotypes, removeKeyFromStereotypes, setAssertInUnitTest, setComment, sizeOfStereotypes |
| Methods inherited from interface java.lang.Comparable |
compareTo |
| Methods inherited from interface de.uni_paderborn.fujaba.basic.UniqueIdentifier |
getID |
| Methods inherited from interface de.uni_paderborn.fujaba.fsa.unparse.LogicUnparseInterface |
getFSAInterface, getUnparseModuleName |
| Methods inherited from interface de.upb.tools.pcs.PropertyChangeInterface |
getPropertyChangeSupport |
| Methods inherited from interface de.upb.tools.pcs.PropertyChangeClient |
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener |
| Methods inherited from interface de.tu_bs.coobra.ObjectChangeAware |
acknowledgeChange, getCoObRAId, getRepository, setCoObRAId, setRepository |
| Methods inherited from interface de.uni_kassel.prop.InspectionAware |
isInspectableField, proposeFieldValues |
| Field Detail |
private static final transient org.apache.log4j.Logger log
public static final java.lang.String PROPERTY_NAME
public static final java.lang.String PROPERTY_UML_STATIC
public static final java.lang.String PROPERTY_ATTR_TYPE
public static final int UNUSED
public static final int CREATE_ACCESS_METHODS_YES
public static final int CREATE_ACCESS_METHODS_NO
public static final int CREATE_ACCESS_METHODS_DEFAULT
private java.lang.String name
private boolean pointer
private boolean umlStatic
private static transient boolean syncVisibilities
private transient int umlVisibility
setVisibility(int) instead
private java.lang.String initialValue
private transient UMLClass parent
+-----------+ 1 1
UMLClass | getName() +------------------ UMLAttr
+-----------+ parent attrs
private transient de.upb.tools.fca.FHashSet revQualifiedAttr
n qualifiedAttr 0..1
UMLQualifier ------------------------------------- UMLAttr
revQualifiedAttr qualifiedAttr
private UMLType attrType
private de.upb.tools.fca.FTreeSet instances
private int createAccessMethods
private boolean javaFinal
private boolean javaTransient
private transient UMLRole implementingAssocRole
0..1 Assoc 0..1
UMLRole ------------------------------------------------ UMLAttr
implementingAssocRole associatedAttribute
private de.upb.tools.fca.FHashSet accessMethods
0..* Assoc 0..1
UMLMethod -------------------------------------- UMLAttr
accessMethods accessedAttribute
| Constructor Detail |
public UMLAttr()
public UMLAttr(boolean coobraPersistent)
coobraPersistent - No description provided
public UMLAttr(int visibility,
java.lang.String type,
java.lang.String name,
java.lang.String initialValue,
boolean umlStatic,
boolean javaFinal)
visibility - No description providedtype - No description providedname - No description providedinitialValue - No description providedumlStatic - No description providedjavaFinal - No description provided
public UMLAttr(int visibility,
java.lang.String type,
java.lang.String name,
java.lang.String initialValue,
boolean umlStatic,
boolean javaFinal,
UMLClass parent)
visibility - No description providedtype - No description providedname - No description providedinitialValue - No description providedumlStatic - No description providedjavaFinal - No description providedparent - No description provided
public UMLAttr(java.lang.String name,
boolean umlStatic,
boolean javaFinal,
int visibility,
java.lang.String initialValue,
UMLType attrType)
name - No description providedumlStatic - No description providedjavaFinal - No description providedvisibility - No description providedinitialValue - No description providedattrType - No description provided
public UMLAttr(java.lang.String name,
boolean umlStatic,
boolean javaFinal,
int visibility,
java.lang.String initialValue,
UMLType attrType,
UMLClass parent,
UMLConstraint constraint)
name - No description providedumlStatic - No description providedjavaFinal - No description providedvisibility - No description providedinitialValue - No description providedattrType - No description providedparent - No description providedconstraint - No description provided| Method Detail |
public java.lang.String getName()
getName in interface FElementgetName in class ASGElementpublic void setName(java.lang.String newName)
setName in interface FElementsetName in class ASGElementnewName - The new name valuepublic java.lang.String getNameUpdate()
public void setNameUpdate(java.lang.String value)
value - The new nameUpdate valuepublic boolean isPointer()
public void setPointer(boolean pointer)
pointer - Value to assign to pointer.public boolean isUmlStatic()
public boolean isStatic()
isStatic in interface FAttrpublic void setUmlStatic(boolean umlStatic)
umlStatic - The new umlStatic valuepublic void setStatic(boolean umlStatic)
setStatic in interface FAttrumlStatic - The new static valuepublic static void setSyncVisibilities(boolean sync)
sync - The new syncVisibilities valuepublic static boolean isSyncVisibilities()
public int getUmlVisibility()
UMLDeclaration.getVisibility() instead. Having visibility and umlVisibility
in parallel was only necessary to handle attrs without access methods
public void setUmlVisibility(int newUmlVisibility)
setVisibility(int) instead. Having visibility and
umlVisibility in parallel was only necessary to handle attrs without access methods
newUmlVisibility - The new umlVisibility valuepublic void setVisibility(int visibility)
setVisibility in interface FDeclarationsetVisibility in class UMLDeclarationvisibility - The new visibility valuepublic java.lang.String getInitialValue()
getInitialValue in interface FAttrpublic void setInitialValue(java.lang.String initialValue)
setInitialValue in interface FAttrinitialValue - The new initialValue valuepublic boolean setParent(FClass obj)
setParent in interface FAttrobj - The new parent value
public UMLClass getParent()
public FClass getFParent()
getFParent in interface FAttrpublic boolean hasInRevQualifiedAttr(FQualifier value)
hasInRevQualifiedAttr in interface FAttrvalue - No description provided
public java.util.Iterator iteratorOfRevQualifiedAttr()
iteratorOfRevQualifiedAttr in interface FAttrpublic int sizeOfRevQualifiedAttr()
sizeOfRevQualifiedAttr in interface FAttrpublic boolean addToRevQualifiedAttr(FQualifier value)
addToRevQualifiedAttr in interface FAttrvalue - The object added.
public boolean removeFromRevQualifiedAttr(FQualifier value)
removeFromRevQualifiedAttr in interface FAttrvalue - No description provided
public void removeAllFromRevQualifiedAttr()
removeAllFromRevQualifiedAttr in interface FAttrpublic UMLType getAttrType()
public FType getFAttrType()
getFAttrType in interface FAttrpublic UMLType getUMLType()
getUMLType in class UMLDeclarationpublic void setAttrType(FType attrType)
setAttrType in interface FAttrattrType - The new attrType valuepublic void setAttrType(java.lang.String tmpType)
tmpType - The (full qualified) attribute type as string.public boolean hasInInstances(UMLAttrExprPair elem)
elem - No description provided
public java.util.Enumeration elementsOfInstances()
public java.util.Iterator iteratorOfInstances()
public void addToInstances(UMLAttrExprPair elem)
elem - The object added.public void removeFromInstances(UMLAttrExprPair elem)
elem - No description providedpublic void removeAllFromInstances()
public static java.lang.String getVisibilityType(int visibility)
visibility - No description provided
public void removeYou()
removeYou in interface FElementremoveYou in class UMLDeclarationpublic FElement getParentElement()
getParentElement in interface FElementgetParentElement in class UMLDiagramItem
public void writeAttributes(java.lang.StringBuffer data,
de.upb.tools.fca.FTreeSet setOfNeighbours)
writeAttributes in class ASGElementdata - No description providedsetOfNeighbours - No description provided
public void readAttributes(java.util.Hashtable objects,
de.upb.tools.fca.FDuplicatedTreeMap attributes)
readAttributes in class BasicIncrementobjects - No description providedattributes - No description providedBasicIncrement.readAttributes(Hashtable, FDuplicatedTreeMap, boolean)public java.lang.String getText()
getText in interface FElementgetText in class ASGElementpublic java.lang.String toString()
UMLDiagramItem
toString in class UMLDiagramItempublic int getCreateAccessMethods()
public void setCreateAccessMethods(int createAccessMethods)
createAccessMethods - The new createAccessMethods valuepublic void setNoAccessMethods(boolean noAccessMethods)
getCreateAccessMethods() instead
noAccessMethods - The new noAccessMethods valuepublic boolean isNoAccessMethods()
getCreateAccessMethods() instead
public boolean isNeedsAccessMethods()
isNeedsAccessMethods in interface FAttrpublic boolean isFinal()
isFinal in interface FAttrpublic void setFinal(boolean javaFinal)
setFinal in interface FAttrjavaFinal - The new final valuepublic boolean isConstant()
public void setTransient(boolean javaTransient)
setTransient in interface FAttrjavaTransient - The new transient valuepublic boolean isTransient()
isTransient in interface FAttrpublic void setCutCopyPasteParent(FElement parent)
setCutCopyPasteParent in interface FElementsetCutCopyPasteParent in class ASGElementparent - Where to put the current ASGElement.public UMLMethod findAccessMethod(int type)
type - The type of the access method.
public boolean hasAccessMethods()
public boolean hasAccessMethod(int type)
type - No description provided
public boolean setImplementingAssocRole(FRole value)
setImplementingAssocRole in interface FAttrvalue - The new implementingAssocRole value
public UMLRole getImplementingAssocRole()
public FRole getFImplementingAssocRole()
getFImplementingAssocRole in interface FAttrpublic boolean hasInAccessMethods(UMLMethod value)
value - No description provided
public java.util.Iterator iteratorOfAccessMethods()
iteratorOfAccessMethods in interface FAttrpublic int sizeOfAccessMethods()
public boolean addToAccessMethods(UMLMethod value)
value - The object added.
public boolean removeFromAccessMethods(UMLMethod value)
value - No description provided
public void removeAllFromAccessMethods()
public static void fixVisibilities()
private static void fixVisibilities(UMLProject project)
project - No description providedprivate static void fixVisibilities(UMLPackage umlPackage)
umlPackage - No description providedprivate static void fixVisibilities(UMLClass umlClass)
umlClass - No description providedprivate static void fixVisibility(UMLAttr umlAttr)
umlAttr - No description provided
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||