/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.util;
/**
* An interface by which an object can be marked as immutable.
* This allows for beans using setter-injection to be made immutable after setup has finished.
*/
public interface Sealable {
/**
* Seals the object.
* <p>
* After invoking this method, no changes to the object should be permitted.
*/
void seal();
/**
* Determine whether this instance is currently sealed.
* <p>
* This will return false before {@link #seal()} is invoked and true after it is invoked.
*
* @return true if the instance is sealed
*/
boolean isSealed();
}