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

swim.api.lane.ListLane 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 java.util.List;
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.ObservableList;
import swim.observable.function.DidClear;
import swim.observable.function.DidDrop;
import swim.observable.function.DidMoveIndex;
import swim.observable.function.DidRemoveIndex;
import swim.observable.function.DidTake;
import swim.observable.function.DidUpdateIndex;
import swim.observable.function.WillClear;
import swim.observable.function.WillDrop;
import swim.observable.function.WillMoveIndex;
import swim.observable.function.WillRemoveIndex;
import swim.observable.function.WillTake;
import swim.observable.function.WillUpdateIndex;
import swim.structure.Form;
import swim.util.KeyedList;

public interface ListLane extends Lane, KeyedList, ObservableList {
  Form valueForm();

   ListLane valueForm(Form valueForm);

   ListLane valueClass(Class valueClass);

  boolean isResident();

  ListLane isResident(boolean isResident);

  boolean isTransient();

  ListLane isTransient(boolean isTransient);

  @Override
  ListLane isSigned(boolean isSigned);

  @Override
  ListLane observe(Object observer);

  @Override
  ListLane unobserve(Object observer);

  @Override
  ListLane willUpdate(WillUpdateIndex willUpdate);

  @Override
  ListLane didUpdate(DidUpdateIndex didUpdate);

  @Override
  ListLane willMove(WillMoveIndex willMove);

  @Override
  ListLane didMove(DidMoveIndex didMove);

  @Override
  ListLane willRemove(WillRemoveIndex willRemove);

  @Override
  ListLane didRemove(DidRemoveIndex didRemove);

  @Override
  ListLane willDrop(WillDrop willDrop);

  @Override
  ListLane didDrop(DidDrop didDrop);

  @Override
  ListLane willTake(WillTake willTake);

  @Override
  ListLane didTake(DidTake didTake);

  @Override
  ListLane willClear(WillClear willClear);

  @Override
  ListLane didClear(DidClear didClear);

  @Override
  ListLane willCommand(WillCommand willCommand);

  @Override
  ListLane didCommand(DidCommand didCommand);

  @Override
  ListLane willUplink(WillUplink willUplink);

  @Override
  ListLane didUplink(DidUplink didUplink);

  @Override
  ListLane willEnter(WillEnter willEnter);

  @Override
  ListLane didEnter(DidEnter didEnter);

  @Override
  ListLane willLeave(WillLeave willLeave);

  @Override
  ListLane didLeave(DidLeave didLeave);

  @Override
  ListLane decodeRequest(DecodeRequestHttp decodeRequest);

  @Override
  ListLane willRequest(WillRequestHttp willRequest);

  @Override
  ListLane didRequest(DidRequestHttp didRequest);

  @Override
  ListLane doRespond(DoRespondHttp doRespond);

  @Override
  ListLane willRespond(WillRespondHttp willRespond);

  @Override
  ListLane didRespond(DidRespondHttp didRespond);

  @Override
  void drop(int lower);

  @Override
  void take(int keep);

  List snapshot();
}