org.geotools.gml2
Class ReferencingDirectiveLeakPreventer

Object
  extended by 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 Summary
ReferencingDirectiveLeakPreventer()
           
 
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

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


Copyright © 1996-2010 Geotools. All Rights Reserved.