All Downloads are FREE. Search and download functionalities are using the official Maven repository.

swim.api.lane.SpatialLane Maven / Gradle / Ivy

There is a newer version: 3.10.0
Show newest version
// Copyright 2015-2019 SWIM.AI inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package swim.api.lane;

import swim.api.http.function.DecodeRequestHttp;
import swim.api.http.function.DidRequestHttp;
import swim.api.http.function.DidRespondHttp;
import swim.api.http.function.DoRespondHttp;
import swim.api.http.function.WillRequestHttp;
import swim.api.http.function.WillRespondHttp;
import swim.api.lane.function.DidCommand;
import swim.api.lane.function.DidEnter;
import swim.api.lane.function.DidLeave;
import swim.api.lane.function.DidUplink;
import swim.api.lane.function.WillCommand;
import swim.api.lane.function.WillEnter;
import swim.api.lane.function.WillLeave;
import swim.api.lane.function.WillUplink;
import swim.observable.ObservableSpatialMap;
import swim.observable.function.DidClear;
import swim.observable.function.DidMoveShape;
import swim.observable.function.DidRemoveShape;
import swim.observable.function.DidUpdateShape;
import swim.observable.function.WillClear;
import swim.observable.function.WillMoveShape;
import swim.observable.function.WillRemoveShape;
import swim.observable.function.WillUpdateShape;
import swim.spatial.SpatialMap;
import swim.structure.Form;

public interface SpatialLane extends Lane, ObservableSpatialMap {
  Form keyForm();

   SpatialLane keyForm(Form keyForm);

   SpatialLane keyClass(Class keyClass);

  Form valueForm();

   SpatialLane valueForm(Form valueForm);

   SpatialLane valueClass(Class valueClass);

  boolean isResident();

  SpatialLane isResident(boolean isResident);

  boolean isTransient();

  SpatialLane isTransient(boolean isTransient);

  @Override
  SpatialLane isSigned(boolean isSigned);

  @Override
  SpatialLane observe(Object observer);

  @Override
  SpatialLane unobserve(Object observer);

  @Override
  SpatialLane willUpdate(WillUpdateShape willUpdate);

  @Override
  SpatialLane didUpdate(DidUpdateShape didUpdate);

  @Override
  SpatialLane willMove(WillMoveShape willMove);

  @Override
  SpatialLane didMove(DidMoveShape didMove);

  @Override
  SpatialLane willRemove(WillRemoveShape willRemove);

  @Override
  SpatialLane didRemove(DidRemoveShape didRemove);

  @Override
  SpatialLane willClear(WillClear willClear);

  @Override
  SpatialLane didClear(DidClear didClear);

  @Override
  SpatialLane willCommand(WillCommand willCommand);

  @Override
  SpatialLane didCommand(DidCommand didCommand);

  @Override
  SpatialLane willUplink(WillUplink willUplink);

  @Override
  SpatialLane didUplink(DidUplink didUplink);

  @Override
  SpatialLane willEnter(WillEnter willEnter);

  @Override
  SpatialLane didEnter(DidEnter didEnter);

  @Override
  SpatialLane willLeave(WillLeave willLeave);

  @Override
  SpatialLane didLeave(DidLeave didLeave);

  @Override
  SpatialLane decodeRequest(DecodeRequestHttp decodeRequest);

  @Override
  SpatialLane willRequest(WillRequestHttp willRequest);

  @Override
  SpatialLane didRequest(DidRequestHttp didRequest);

  @Override
  SpatialLane doRespond(DoRespondHttp doRespond);

  @Override
  SpatialLane willRespond(WillRespondHttp willRespond);

  @Override
  SpatialLane didRespond(DidRespondHttp didRespond);

  SpatialMap snapshot();
}