com.github.fge.Frozen Maven / Gradle / Ivy
package com.github.fge;
import javax.annotation.concurrent.Immutable;
/**
* Interface for a frozen object
*
* This interface is closely coupled with {@link Thawed}. The principle is
* simple: you can obtain a thawed object from a frozen one, and a thawed object
* can generate a frozen one.
*
* By contract, implementations of this interface must be immutable.
*
* @param the type of the thawed counterpart
*/
@Immutable
public interface Frozen>>
{
/**
* Return a thawed representation of this frozen object.
*
* @return a thawed object
*/
T thaw();
}