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

swim.api.lane.ValueLane 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.ObservableValue;
import swim.observable.function.DidSet;
import swim.observable.function.WillSet;
import swim.streamlet.Inlet;
import swim.streamlet.Outlet;
import swim.structure.Form;

public interface ValueLane extends Lane, ObservableValue, Inlet, Outlet {
  Form valueForm();

   ValueLane valueForm(Form valueForm);

   ValueLane valueClass(Class valueClass);

  boolean isResident();

  ValueLane isResident(boolean isResident);

  boolean isTransient();

  ValueLane isTransient(boolean isTransient);

  @Override
  ValueLane isSigned(boolean isSigned);

  @Override
  ValueLane observe(Object observer);

  @Override
  ValueLane unobserve(Object observer);

  @Override
  ValueLane willSet(WillSet willSet);

  @Override
  ValueLane didSet(DidSet didSet);

  @Override
  ValueLane willCommand(WillCommand willCommand);

  @Override
  ValueLane didCommand(DidCommand didCommand);

  @Override
  ValueLane willUplink(WillUplink willUplink);

  @Override
  ValueLane didUplink(DidUplink didUplink);

  @Override
  ValueLane willEnter(WillEnter willEnter);

  @Override
  ValueLane didEnter(DidEnter didEnter);

  @Override
  ValueLane willLeave(WillLeave willLeave);

  @Override
  ValueLane didLeave(DidLeave didLeave);

  @Override
  ValueLane decodeRequest(DecodeRequestHttp decodeRequest);

  @Override
  ValueLane willRequest(WillRequestHttp willRequest);

  @Override
  ValueLane didRequest(DidRequestHttp didRequest);

  @Override
  ValueLane doRespond(DoRespondHttp doRespond);

  @Override
  ValueLane willRespond(WillRespondHttp willRespond);

  @Override
  ValueLane didRespond(DidRespondHttp didRespond);

  @Override
  V get();

  @Override
  V set(V newValue);
}