Class SubstitutionGroupLeakPreventer

Object
SubstitutionGroupLeakPreventer
All Implemented Interfaces:
Adapter

public class SubstitutionGroupLeakPreventer extends Object implements Adapter
Adapter for preventing memory leaks created by substitution group affiliations.

When an application schema contains an element in the gml:_Feature substitution group a link from gml:_Feature back to the app schema element is created. Since the gml schema (and thus the gml:_Feature) element is a singleton this creates a memory leak. This adapter watches the XSDElementDeclaration.getSubstitutionGroup() of the gml:_Feature element and prevents it from growing in size by making it a unique list of XSDElementDeclaration based on qualified name.

Author:
Justin Deoliveira, OpenGeo
  • Constructor Details

    • SubstitutionGroupLeakPreventer

      public SubstitutionGroupLeakPreventer()
  • Method Details

    • 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