/* * Copyright (c) 2015 Tom Parker <thpr@users.sourceforge.net> * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ package pcgen.cdom.base; /** * Reducible is a universal container that allows both CDOMObjects and other * containers for CDOMObjects to quickly refer back to the CDOMObject. This * allows code which relies on the underlying CDOMObject (for fetching FACTs for * example) to solely rely on this interface rather than having to do a cast or * other special case when it encounters things like a CNAbilitySelection. */ public interface Reducible { /** * Returns the CDOMObject underlying this object. * * @return The CDOMObject underlying this object */ public CDOMObject getCDOMObject(); }