JavaScript is disabled on your browser.
Package: groovy.lang

[Java] Interface MetaClassRegistry


  • public interface MetaClassRegistry

    A MetaClassRegistry is an object that is responsible for managing a cache of MetaClass instances. Each java.lang.Class instance has an associated MetaClass and client code can query this interface for the MetaClass for a given associated java.lang.Class

    See Also:
    MetaClass

    • Method Detail

      • public void addMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)

        Adds a metaclass change listener for constant metaclasses

        Parameters:
        listener - - the update listener

      • public void addNonRemovableMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)

        Adds a metaclass change listener for constant metaclasses. This listener cannot be removed!

        Parameters:
        listener - - the update listener

      • public MetaClass getMetaClass(Class theClass)

        The main function of the registry If a metaclass exists then return it otherwise create one, put it in the registry and return it

      • public MetaClassRegistry.MetaClassCreationHandle getMetaClassCreationHandler()

        Retrieves the MetaClassCreationHandle that is responsible for constructing MetaClass instances

        Returns:
        The MetaClassCreationHandle instance

      • public MetaClassRegistryChangeEventListener[] getMetaClassRegistryChangeEventListeners()

        Returns all registered class change listener for constant metaclasses.

        Returns:
        an array containing all change listener

      • public Iterator iterator()

        Gets a snapshot of the current constant metaclasses and returns it as Iterator. Modifications done using this Iterator will not cause a ConcurrentModificationException. If a MetaClass is removed using this Iterator, then the MetaClass will only be removed if the MetaClass was not replaced by another MetaClass in the meantime. If a MetaClass is added while using this Iterator, then it will be part of the Iteration. If a MetaClass replaces another constant metaclass, then the Iteration might show two metaclasses for the same class.

        Note: This Iterator may not be used with multiple threads.

        Returns:
        Iterator for the constant metaclasses

      • public void removeMetaClass(Class theClass)

        Removes a cached MetaClass from the registry

        Parameters:
        theClass - The Java class of the MetaClass to remove

      • public void removeMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)

        Removes a metaclass change listener for constant metaclasses

        Parameters:
        listener - - the update listener

      • public void setMetaClass(Class theClass, MetaClass theMetaClass)

        Adds a metaclass to the registry for the given class

        Parameters:
        theClass - The class
        theMetaClass - The MetaClass for theClass

      • public void setMetaClassCreationHandle(MetaClassRegistry.MetaClassCreationHandle handle)

        Sets the MetaClassCreationHandle instance that is responsible for constructing instances

        Parameters:
        handle - The handle instance

Copyright © 2003-2025 The Apache Software Foundation. All rights reserved.

AltStyle によって変換されたページ (->オリジナル) /