blob: 769e93cc55e5a2b518f24822c5fecaefc9ff091a [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 org.apache.thrift.protocol;
import haxe.io.Bytes;
import haxe.Int64;
import org.apache.thrift.transport.TTransport;
/**
* TProtocolDecorator forwards all requests to an enclosed TProtocol instance,
* providing a way to author concise concrete decorator subclasses. While it has
* no abstract methods, it is marked abstract as a reminder that by itself,
* it does not modify the behaviour of the enclosed TProtocol.
*
* See p.175 of Design Patterns (by Gamma et al.)
* See TMultiplexedProtocol
*/
class TProtocolDecorator implements TProtocol
{
private var wrapped : TProtocol;
/**
* Encloses the specified protocol.
* @param protocol All operations will be forward to this protocol. Must be non-null.
*/
private function new( protocol : TProtocol) // not to be instantiated, must derive a class
{
wrapped = protocol;
}
public function getTransport() : TTransport {
return wrapped.getTransport();
}
public function writeMessageBegin( value : TMessage) : Void {
wrapped.writeMessageBegin( value);
}
public function writeMessageEnd() : Void {
wrapped.writeMessageEnd();
}
public function writeStructBegin(value : TStruct) : Void {
wrapped.writeStructBegin( value);
}
public function writeStructEnd() : Void {
wrapped.writeStructEnd();
}
public function writeFieldBegin(value : TField) : Void {
wrapped.writeFieldBegin( value);
}
public function writeFieldEnd() : Void {
wrapped.writeFieldEnd();
}
public function writeFieldStop() : Void {
wrapped.writeFieldStop();
}
public function writeMapBegin( value : TMap) : Void {
wrapped.writeMapBegin( value);
}
public function writeMapEnd() : Void {
wrapped.writeMapEnd();
}
public function writeListBegin( value : TList) : Void {
wrapped.writeListBegin( value);
}
public function writeListEnd() : Void {
wrapped.writeListEnd();
}
public function writeSetBegin( value : TSet) : Void {
wrapped.writeSetBegin( value);
}
public function writeSetEnd() : Void {
wrapped.writeSetEnd();
}
public function writeBool(value : Bool) : Void {
wrapped.writeBool( value);
}
public function writeByte(value : Int) : Void {
wrapped.writeByte( value);
}
public function writeI16(value : Int) : Void {
wrapped.writeI16( value);
}
public function writeI32(value : Int) : Void {
wrapped.writeI32( value);
}
public function writeI64(value : haxe.Int64) : Void {
wrapped.writeI64( value);
}
public function writeDouble(value : Float) : Void {
wrapped.writeDouble( value);
}
public function writeString(value : String) : Void {
wrapped.writeString( value);
}
public function writeBinary(value : Bytes ) : Void {
wrapped.writeBinary( value);
}
public function readMessageBegin() : TMessage {
return wrapped.readMessageBegin();
}
public function readMessageEnd() : Void {
wrapped.readMessageEnd();
}
public function readStructBegin() : TStruct {
return wrapped.readStructBegin();
}
public function readStructEnd() : Void {
wrapped.readStructEnd();
}
public function readFieldBegin() : TField {
return wrapped.readFieldBegin();
}
public function readFieldEnd() : Void {
wrapped.readFieldEnd();
}
public function readMapBegin() : TMap {
return wrapped.readMapBegin();
}
public function readMapEnd() : Void {
wrapped.readMapEnd();
}
public function readListBegin() : TList {
return wrapped.readListBegin();
}
public function readListEnd() : Void {
wrapped.readListEnd();
}
public function readSetBegin() : TSet {
return wrapped.readSetBegin();
}
public function readSetEnd() : Void {
wrapped.readSetEnd();
}
public function readBool() : Bool
{
return wrapped.readBool();
}
public function readByte() : Int {
return wrapped.readByte();
}
public function readI16() : Int {
return wrapped.readI16();
}
public function readI32() : Int {
return wrapped.readI32();
}
public function readI64() : haxe.Int64 {
return wrapped.readI64();
}
public function readDouble() : Float {
return wrapped.readDouble();
}
public function readString() : String {
return wrapped.readString();
}
public function readBinary() : Bytes {
return wrapped.readBinary();
}
public function IncrementRecursionDepth() : Void {
return wrapped.IncrementRecursionDepth();
}
public function DecrementRecursionDepth() : Void {
return wrapped.DecrementRecursionDepth();
}
}