Class ReferencingDirectiveLeakPreventer

  • All Implemented Interfaces:
    Adapter

    public class ReferencingDirectiveLeakPreventer
    extends Object
    implements Adapter
    Adapter to prevent memory leaks that occur when importing a gml schema.

    When an application schema imports the gml schema a link from the gml schema to the app schema is created. Since the gml schema is a singleton we store permenantly this causes a memory leak. This adapter watches the XSDSchema.getReferencingDirectives() list and ensures that it does not continue to grow by only allowing unique schema references (in terms of target namespace) to reference it.

    Author:
    Justin Deoliveira, OpenGeo
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface Adapter

        Adapter.Internal
    • Constructor Detail

      • ReferencingDirectiveLeakPreventer

        public ReferencingDirectiveLeakPreventer()
    • Method Detail

      • getTarget

        public Notifier getTarget()
        Specified by:
        getTarget in interface Adapter
      • setTarget

        public void setTarget​(Notifier newTarget)
        Specified by:
        setTarget in interface Adapter
      • isAdapterForType

        public boolean isAdapterForType​(Object type)
        Specified by:
        isAdapterForType in interface Adapter
      • notifyChanged

        public void notifyChanged​(Notification notification)
        Specified by:
        notifyChanged in interface Adapter