org.geotools.catalog
Interface ResolveDelta

All Known Implementing Classes:
DefaultResolveDelta

public interface ResolveDelta

Constants used to communicate Catalog Deltas.

For those familiar with IResourceChangeEvent and IResourceDelta from eclipse development there is one important addition. The constant REPLACE indicates a reaname, or substiution, you will need to replace any references you have to the oldObject with the newObject.

For "bit mask" style interation please use: EnumSet.of(Kind.ADDED, Kind.REPLACED)

Since:
0.6.0
Author:
Jody Garnett, Justin Deoliveira, The Open Planning Project

Nested Class Summary
static class ResolveDelta.Kind
          Kind of Delta, used to indicate change.
 
Field Summary
static java.util.List NO_CHILDREN
          List indicating no children are present
 
Method Summary
 void accept(ResolveDeltaVisitor visitor)
          Accepts the given visitor.
 java.util.List getChildren()
          Resource deltas for all added, removed, changed, or replaced.
 java.util.List getChildren(java.util.Set kindMask)
          Finds and returns the delta information for a given resource.
 ResolveDelta.Kind getKind()
          Returns the kind of this delta.
 Resolve getNewResolve()
          For replacement (REPLACE), this handle describes the resource in the "after" state.
 Resolve getResolve()
          Returns a handle for the affected handle.
 

Field Detail

NO_CHILDREN

public static final java.util.List NO_CHILDREN
List indicating no children are present

Method Detail

getKind

public ResolveDelta.Kind getKind()
Returns the kind of this delta.

Normally, one of ADDED, REMOVED, CHANGED or REPLACED.

This set is still open, during shutdown we may throw a few more kinds around. Eclipse makes use of PHANTOM, and NON_PHANTOM not sure we care

Returns:
the kind of this resource delta
See Also:
Kind.ADDED, Kind.REMOVED, Kind.CHANGED, Kind.REPLACED

accept

public void accept(ResolveDeltaVisitor visitor)
            throws java.io.IOException
Accepts the given visitor.

The only kinds of resource delta that our visited are ADDED, REMOVED, CHANGED and REPLACED.

This is a convenience method, equivalent to accepts( visitor, IService.NONE )

Parameters:
visitor -
Throws:
CoreException
java.io.IOException

getChildren

public java.util.List getChildren()
Resource deltas for all added, removed, changed, or replaced.

This is a short cut for:


  finally List list = new ArrayList();
  accept( IServiceDeltaVisitor() {
  public boolean visit(IResolveDelta delta) {
          switch (delta.getKind()) {
          case IDelta.ADDED :
          case IDelta.REMOVED :
          case IDelta.CHANGED :
          case IDelta.REPLACED :
              list.add( delta );
          default: // ignore    
          }
      return true;
      }
  });
  return list.toArray();
 

Returns:
A list of type ResolveDelta.

getChildren

public java.util.List getChildren(java.util.Set kindMask)
Finds and returns the delta information for a given resource.

Returns:
Array of IGeoResourceDelta

getResolve

public Resolve getResolve()
Returns a handle for the affected handle.

For additions (ADDED), this handle describes the newly-added resolve; i.e., the one in the "after" state.

For changes (CHANGED), this handle also describes the resource in the "after" state.

For removals (REMOVED), this handle describes the resource in the "before" state. Even though this handle not normally exist in the current workspace, the type of resource that was removed can be determined from the handle.

For removals (REPLACE), this handle describes the resource in the "before" state. The new handle can be determined with getNewResolve().

Returns:
the affected resource (handle)

getNewResolve

public Resolve getNewResolve()
For replacement (REPLACE), this handle describes the resource in the "after" state. The old handle can be determined with getResolve().

Returns:
The new resolve replacing the affected handle.


Copyright © GeoTools. All Rights Reserved.