Top Description Fields Constructors Methods
com.github.javaparser.metamodel

public Class PropertyMetaModel

extends Object
Class Inheritance
Imports
com.github.javaparser.ast.Node, java.lang.reflect.Field, java.util.Optional

Meta-data about a property of a node in the AST.

Field Summary

Modifier and TypeField and Description
private final BaseNodeMetaModel
private final boolean
private final boolean
private final boolean
private final boolean
private final String
private final Optional<BaseNodeMetaModel>
private final Class<?>

Constructor Summary

AccessConstructor and Description
public
PropertyMetaModel(BaseNodeMetaModel containingNodeMetaModel, String name, Class<?> type, Optional<BaseNodeMetaModel> nodeReference, boolean isOptional, boolean isNonEmpty, boolean isNodeList, boolean hasWildcard)

Method Summary

Modifier and TypeMethod and Description
public boolean
equals(Object
the reference object with which to compare.
o
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.
public BaseNodeMetaModel

Returns:

the NodeMetaModel that "has" this property.
getContainingNodeMetaModel
()

public String

Returns:

the name used in the AST for the getter
getGetterMethodName
()

public String
getMetaModelFieldName()

The name of the field in the containing BaseNodeMetaModel for this property meta model.

public String

Returns:

the name of the property. This is equal to the name of the field in the AST.
getName
()

public Optional<BaseNodeMetaModel>

Returns:

if this property is a Node, this will get the node meta model.
getNodeReference
()

public String

Returns:

the name used in the AST for the setter
getSetterMethodName
()

public Class<?>

Returns:

the class of the field.
getType
()

public String

Returns:

the raw type of a single element of this property, so nothing but the name.
getTypeName
()

public String

Returns:

the type that is returned from getters in the AST.
getTypeNameForGetter
()

public String

Returns:

the type that is passed to setters in the AST.
getTypeNameForSetter
()

public String

Returns:

the type of a single element of this property, so no Optional or NodeList.
getTypeNameGenerified
()

public Object
getValue(Node node)

Introspects the node to get the value from this field.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.
public boolean

Returns:

whether this property has a wildcard following it, like BodyDeclaration<?>.
hasWildcard
()

public boolean

Returns:

is this the field fieldName on class c?
is
(Class<? extends Node> c, String fieldName)

public boolean

Returns:

is this fields called fieldName?
is
(String fieldName)

public boolean

Returns:

is this property an attribute, meaning: not a node?
isAttribute
()

public boolean

Returns:

is this property an AST Node?
isNode
()

public boolean

Returns:

whether this property is contained in a NodeList.
isNodeList
()

public boolean

Returns:

if this property is a String or a NodeList: whether it may be empty.
isNonEmpty
()

public boolean

Returns:

whether this property is optional.
isOptional
()

public boolean

Returns:

whether this property is not optional.
isRequired
()

public boolean

Returns:

whether this property is not a list or set.
isSingular
()

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

containingNodeMetaModelback to summary
private final BaseNodeMetaModel containingNodeMetaModel
hasWildcardback to summary
private final boolean hasWildcard
isNodeListback to summary
private final boolean isNodeList
isNonEmptyback to summary
private final boolean isNonEmpty
isOptionalback to summary
private final boolean isOptional
nameback to summary
private final String name
nodeReferenceback to summary
private final Optional<BaseNodeMetaModel> nodeReference
typeback to summary
private final Class<?> type

Constructor Detail

PropertyMetaModelback to summary
public PropertyMetaModel(BaseNodeMetaModel containingNodeMetaModel, String name, Class<?> type, Optional<BaseNodeMetaModel> nodeReference, boolean isOptional, boolean isNonEmpty, boolean isNodeList, boolean hasWildcard)

Method Detail

equalsback to summary
public boolean equals(Object o)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
o:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
getContainingNodeMetaModelback to summary
public BaseNodeMetaModel getContainingNodeMetaModel()
Returns:BaseNodeMetaModel

the NodeMetaModel that "has" this property.

getGetterMethodNameback to summary
public String getGetterMethodName()
Returns:String

the name used in the AST for the getter

getMetaModelFieldNameback to summary
public String getMetaModelFieldName()

The name of the field in the containing BaseNodeMetaModel for this property meta model.

getNameback to summary
public String getName()
Returns:String

the name of the property. This is equal to the name of the field in the AST.

getNodeReferenceback to summary
public Optional<BaseNodeMetaModel> getNodeReference()
Returns:Optional<BaseNodeMetaModel>

if this property is a Node, this will get the node meta model.

getSetterMethodNameback to summary
public String getSetterMethodName()
Returns:String

the name used in the AST for the setter

getTypeback to summary
public Class<?> getType()
Returns:Class<?>

the class of the field.

getTypeNameback to summary
public String getTypeName()
Returns:String

the raw type of a single element of this property, so nothing but the name.

getTypeNameForGetterback to summary
public String getTypeNameForGetter()
Returns:String

the type that is returned from getters in the AST.

getTypeNameForSetterback to summary
public String getTypeNameForSetter()
Returns:String

the type that is passed to setters in the AST.

getTypeNameGenerifiedback to summary
public String getTypeNameGenerified()
Returns:String

the type of a single element of this property, so no Optional or NodeList.

getValueback to summary
public Object getValue(Node node)

Introspects the node to get the value from this field. Note that an optional empty field will return null here.

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
hasWildcardback to summary
public boolean hasWildcard()
Returns:boolean

whether this property has a wildcard following it, like BodyDeclaration<?>.

isback to summary
public boolean is(Class<? extends Node> c, String fieldName)
Returns:boolean

is this the field fieldName on class c?

isback to summary
public boolean is(String fieldName)
Returns:boolean

is this fields called fieldName?

isAttributeback to summary
public boolean isAttribute()
Returns:boolean

is this property an attribute, meaning: not a node?

isNodeback to summary
public boolean isNode()
Returns:boolean

is this property an AST Node?

isNodeListback to summary
public boolean isNodeList()
Returns:boolean

whether this property is contained in a NodeList.

isNonEmptyback to summary
public boolean isNonEmpty()
Returns:boolean

if this property is a String or a NodeList: whether it may be empty.

isOptionalback to summary
public boolean isOptional()
Returns:boolean

whether this property is optional.

isRequiredback to summary
public boolean isRequired()
Returns:boolean

whether this property is not optional.

isSingularback to summary
public boolean isSingular()
Returns:boolean

whether this property is not a list or set.

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object

Annotations
@Override