publicinterfaceMetaObjectProtocol

Une interface qui définit l'API utilisable par les clients du protocole de méta-objet (MOP) de Groovy. Ces méthodes sont mises en œuvre par l'implémentation de référence de l'interface MetaClass.

Voir aussi :
MetaClassImpl

Résumé des méthodes

Méthodes
Type Params Type de retour Nom et description
public Object getAttribute(Object object, String attribute)
Récupère un attribut d'une instance de la classe retournée par la méthode getTheClass().
public MetaMethod getMetaMethod(String name, Object[] args)
Récupère une instance de MetaMethod pour le nom et les valeurs d'argument donnés, en utilisant les types des valeurs d'argument pour établir le MetaMethod choisi.
public MetaProperty getMetaProperty(String name)
Renvoie une MetaProperty pour le nom donné ou null si elle n'existe pas.
public List<MetaMethod> getMethods()
Obtient une liste de toutes les méta-méthodes disponibles sur cette classe méta.
public List<MetaProperty> getProperties()
Obtient une liste de toutes les propriétés méta disponibles sur cette classe méta.
public Object getProperty(Object object, String property)
Récupère une propriété d'une instance de la classe retournée par la méthode getTheClass().
public MetaMethod getStaticMetaMethod(String name, Object[] args)
Récupère une MetaMéthode statique pour le nom et les valeurs d'arguments donnés, en utilisant les types des arguments pour établir la MetaMéthode choisie.
public Class getTheClass()
Récupère la classe Java à laquelle s'appliquent les comportements Meta attachés.
public MetaProperty hasProperty(Object obj, String name)
public Object invokeConstructor(Object[] arguments)
Invoque un constructeur pour les arguments donnés.
public Object invokeMethod(Object object, String methodName, Object[] arguments)
Fait appel à une méthode sur l'objet donné avec le nom et les arguments donnés.
public Object invokeMethod(Object object, String methodName, Object arguments)
Invoque une méthode sur l'objet donné, avec le nom et l'argument unique donnés.
public Object invokeStaticMethod(Object object, String methodName, Object[] arguments)
Invoque une méthode statique sur l'Objet donné, avec le nom et les arguments donnés.
public List<MetaMethod> respondsTo(Object obj, String name, Object[] argTypes)
public List<MetaMethod> respondsTo(Object obj, String name)
public void setAttribute(Object object, String attribute, Object newValue)
Définit un attribut d'une instance de la classe retournée par la méthode getTheClass().
public void setProperty(Object object, String property, Object newValue)
Fixe une propriété d'une instance de la classe retournée par la méthode getTheClass().

Détail de la méthode

public ObjetgetAttribute(Objet objet, Chaîne de caractères attribut)

Récupère un attribut d'une instance de la classe retournée par la méthode getTheClass().

Ce que cela signifie dépend en grande partie de l'implémentation de la MetaClass, cependant le cas par défaut entraînerait une tentative de lecture d'un champ de l'instance.

Voir aussi :
MetaClassImpl
Paramètres :
object - Une instance de la classe retournée par la méthode getTheClass().
attribute - Le nom de l'attribut dont il faut récupérer la valeur
Retourne :
La valeur de l'attribut

public MetaMethod getMetaMethod(Chaîne de caractères nom, Objet[] args)

Récupère une instance de MetaMethod pour le nom et les valeurs d'argument donnés, en utilisant les types des valeurs d'argument pour établir le MetaMethod choisi.

Paramètres :
name - Le nom du MetaMethod
args - Tableau contenant - 1) les valeurs des arguments (à l'aide desquelles leurs types sont ensuite déduits), ou 2) les types d'arguments correspondants.
Retourne :
Un MetaMethod ou null s'il n'existe pas.

public MetaProperty getMetaProperty(Chaîne nom)

Renvoie une MetaProperty pour le nom donné ou null si elle n'existe pas.

Paramètres :
name - Le nom de la MetaProperty
Retourne :
Une MetaProperty ou null

public Liste getMethods()

Obtenir une liste de toutes les méthodes méta disponibles sur cette classe méta.

Voir aussi :
MetaMethod
Retourne :
Une liste d'instances de MetaMethod

public Liste getProperties()

Obtenir une liste de toutes les propriétés méta disponibles sur cette classe méta.

Voir aussi :
MetaProperty
Retourne :
Une liste d'instances de MetaProperty

public ObjetgetProperty(Objet objet, Chaîne de caractères propriété)

Récupère une propriété d'une instance de la classe retournée par la méthode getTheClass().

Ce que cela signifie dépend en grande partie de l'implémentation de la MetaClass, cependant le cas par défaut se traduirait par une tentative d'invoquer un getter JavaBean, ou si un tel getter n'existe pas un champ public de l'instance.

Voir aussi :
MetaClassImpl
Paramètres :
object - Une instance de la classe retournée par la méthode getTheClass().
property - Le nom de la propriété dont on veut récupérer la valeur
Retourne :
La valeur de la propriété

public MetaMethod getStaticMetaMethod(Chaîne de caractères nom, Objet[] args)

Récupère un MetaMethod statique pour le nom et les valeurs des arguments donnés, en utilisant les types des arguments pour établir le MetaMethod choisi.

Paramètres :
name - Le nom du MetaMethod
args - Les types d'arguments
Les retours :
Un MetaMethod ou null s'il n'existe pas.

public ClassegetTheClass()

Récupère la classe Java à laquelle s'appliquent les comportements Meta attachés.

Retourne :
L'instance de la classe java.lang.Class

public MetaProperty hasProperty(Objet obj, Chaîne de caractères nom)

Renvoie true de l'implémentation MetaClass a une propriété du nom donné.

Notez que cette méthode ne renvoie true que pour les propriétés réalisées et ne tient pas compte de l'implémentation de getProperty ou de propertyMissing.

Paramètres :
obj - L'objet à inspecter
name - Le nom de la propriété
Retourne :
La MetaProperty ou null si elle n'existe pas.

public ObjetinvokeConstructor(Objet[] arguments)

Invoque un constructeur pour les arguments donnés. La MetaClass tentera de choisir le meilleur argument qui correspond aux types des objets passés dans le tableau d'arguments.

Paramètres :
arguments - Les arguments du constructeur
Retourne :
Une instance de la classe java.lang.Class à laquelle s'applique cet objet MetaObjectProtocol.

public ObjetinvokeMethod(Objet objet, Chaîne de caractères methodName, Objet[] arguments)

Invoque une méthode sur l'objet donné avec le nom et les arguments donnés. La MetaClass tentera de choisir la meilleure méthode pour le nom et les arguments donnés. Si une méthode ne peut être invoquée, une MissingMethodException sera levée.

Voir aussi :
MissingMethodException
Paramètres :
object - L'instance sur laquelle la méthode est invoquée.
methodName - Le nom de la méthode
arguments - Les arguments de la méthode
Retourne :
La valeur de retour de la méthode qui est nulle si le type de retour est void.

public ObjetinvokeMethod(Objet objet, Chaîne de caractères methodName, Objet arguments)

Invoque une méthode sur l'objet donné, avec le nom et l'argument unique donnés.

Voir aussi :
invokeMethod(Objet, Chaîne, Objet[])
Paramètres :
object - L'objet sur lequel invoquer la méthode
methodName - Le nom de la méthode
arguments - L'argument de la méthode
Retourne :
La valeur de retour de la méthode qui est nulle si le type de retour est void.

public ObjetinvokeStaticMethod(Objet objet, Chaîne de caractères methodName, Objet[] arguments)

Invoque une méthode statique sur l'objet donné avec le nom et les arguments donnés.

L'Objet peut être soit une instance de la classe à laquelle s'applique cette instance de MetaObjectProtocol, soit l'instance de la classe java.lang.Class elle-même. Si une méthode ne peut pas être invoquée, une MissingMethodException est lancée.

Voir aussi :
MissingMethodException
Paramètres :
object - Une instance de la classe retournée par la méthode getTheClass() ou la classe elle-même.
methodName - Le nom de la méthode
arguments - Les arguments de la méthode
Retourne :
La valeur de retour de la méthode qui est nulle si le type de retour est void.

public Liste répond à(Objet obj, Chaîne de caractères nom, Objet[] argTypes)

Renvoie un objet satisfaisant la vérité Groovy si la MetaClass implémentée répond à une méthode avec le nom et les types d'arguments donnés.

Notez que la valeur de retour de cette méthode est basée sur les méthodes réalisées et ne prend pas en compte les objets ou les classes qui implémentent invokeMethod ou methodMissing.

Cette méthode est "sûre" en ce sens qu'elle renverra toujours une valeur et ne lèvera jamais une exception...

Paramètres :
obj - L'objet à inspecter
name - Le nom de la méthode d'intérêt
argTypes - Les types d'arguments à comparer
Retourne :
Une liste de méta-méthodes correspondant aux types d'arguments qui sera vide si aucune méthode correspondante n'existe.

public Liste répond à(Objet obj, Chaîne de caractères nom)

Renvoie un objet satisfaisant la vérité Groovy si la MetaClass d'implémentation répond à une méthode avec le nom donné indépendamment des arguments. En d'autres termes, cette méthode retournera pour foo() et foo(String).

Notez que la valeur de retour de cette méthode est basée sur les méthodes réalisées et ne prend pas en compte les objets ou les classes qui implémentent invokeMethod ou methodMissing.

Cette méthode est "sûre" en ce sens qu'elle retournera toujours une valeur et ne lèvera jamais d'exception...

Paramètres :
obj - L'objet à inspecter
name - Le nom de la méthode d'intérêt
Retourne :
Une liste de méta-méthodes qui sera vide si aucune méthode portant le nom donné n'existe.

public void setAttribute(Objet objet, Chaîne de caractères attribut, Objet newValue)

Définit un attribut d'une instance de la classe retournée par la méthode getTheClass().

Ce que cela signifie dépend en grande partie de l'implémentation de la MetaClass, cependant le cas par défaut entraînerait une tentative de définir un champ de l'instance.

Voir aussi :
MetaClassImpl
Paramètres :
object - Une instance de la classe retournée par la méthode getTheClass().
attribute - Le nom de l'attribut à définir
newValue - La nouvelle valeur de l'attribut

public void setProperty(Objet objet, Chaîne de caractères propriété, Objet newValue)

Définit une propriété d'une instance de la classe retournée par la méthode getTheClass().

Ce que cela signifie dépend en grande partie de l'implémentation de la MetaClass, cependant le cas par défaut résulterait en une tentative d'invoquer un setter JavaBean, ou si un tel setter n'existe pas, de définir un champ public de l'instance.

Voir aussi :
MetaClassImpl
Paramètres :
object - Une instance de la classe retournée par la méthode getTheClass().
property - Le nom de la propriété à définir
newValue - La nouvelle valeur de la propriété