Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 //========================================================================
 //Copyright 2012 David Yu
 //------------------------------------------------------------------------
 //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 io.protostuff.runtime;
Runtime pipe schema.

Author(s):
David Yu
Created:
Nov 9, 2012
public final class RuntimePipeSchema<T> extends Pipe.Schema<T>
    final Field<T>[] fieldsByNumber;
    public RuntimePipeSchema(Schema<T> schema, Field<T>[] fieldsByNumber)
    {
        super(schema);
        this. = fieldsByNumber;
    }
    @Override
    protected void transfer(Pipe pipeInput inputOutput output)
            throws IOException
    {
        for (int number = input.readFieldNumber(); number != 0; number = input
                .readFieldNumber())
        {
            final Field<T> field = number < . ? [number]
                    : null;
            if (field == null)
                input.handleUnknownField(number);
            else
                field.transfer(pipeinputoutputfield.repeated);
        }
    }
New to GrepCode? Check out our FAQ X