org.geotools.gml2
Class SubstitutionGroupLeakPreventer

Object
  extended by 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

Nested Class Summary
 
Nested classes/interfaces inherited from interface Adapter
Adapter.Internal
 
Constructor Summary
SubstitutionGroupLeakPreventer()
           
 
Method Summary
 Notifier getTarget()
           
 boolean isAdapterForType(Object type)
           
 void notifyChanged(Notification notification)
           
 void setTarget(Notifier newTarget)
           
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SubstitutionGroupLeakPreventer

public SubstitutionGroupLeakPreventer()
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


Copyright © 1996-2014 Geotools. All Rights Reserved.