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

eu.stratosphere.nephele.services.iomanager.Deserializer Maven / Gradle / Ivy

The newest version!
/***********************************************************************************************************************
 * Copyright (C) 2010-2013 by the Stratosphere project (http://stratosphere.eu)
 *
 * 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 eu.stratosphere.nephele.services.iomanager;

import java.io.DataInput;
import java.io.IOException;

/**
 * 

* Provides a facility for deserializing objects of type from an {@link InputStream}. *

*

* Deserializers are stateful, but must not buffer the input since other producers may read from the input between calls * to {@link #deserialize(Object)}. *

* * @param */ public interface Deserializer { /** *

* Prepare the deserializer for reading. *

*/ void open(DataInput in) throws IOException; /** *

* Deserialize the next object from the underlying input stream. If the object t is non-null then this * deserializer may set its internal state to the next object read from the input stream. Otherwise, if the * object t is null a new deserialized object will be created. *

* * @return the deserialized object */ T deserialize(T t) throws IOException; /** *

* Clear up any resources. *

*/ void close() throws IOException; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy