API Reference 0.3.24dart_web_toolkit_activityCachingActivityMapper

CachingActivityMapper class

Wraps another {@link ActivityMapper} and caches the last activity it returned, to be re-used if we see the same place twice.

class CachingActivityMapper implements ActivityMapper {

 final ActivityMapper wrapped;

 Place lastPlace;
 Activity lastActivity;

 /**
  * Constructs a CachingActivityMapper object.
  *
  * @param wrapped an ActivityMapper object
  */
 CachingActivityMapper(this.wrapped);

 Activity getActivity(Place place) {
   if (place != lastPlace) {
     lastPlace = place;
     lastActivity = wrapped.getActivity(place);
   }

   return lastActivity;
 }
}

Implements

ActivityMapper

Constructors

new CachingActivityMapper(ActivityMapper wrapped) #

Constructs a CachingActivityMapper object.

@param wrapped an ActivityMapper object

CachingActivityMapper(this.wrapped);

Properties

Activity lastActivity #

Activity lastActivity

Place lastPlace #

Place lastPlace

final ActivityMapper wrapped #

final ActivityMapper wrapped

Methods

Activity getActivity(Place place) #

Returns the activity to run for the given {@link Place}, or null.

@param place a Place object

docs inherited from ActivityMapper
Activity getActivity(Place place) {
 if (place != lastPlace) {
   lastPlace = place;
   lastActivity = wrapped.getActivity(place);
 }

 return lastActivity;
}