/* * Copyright (c) 2017 OBiBa. All rights reserved. * * This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.obiba.magma.support; import javax.validation.constraints.NotNull; import org.obiba.magma.Initialisable; import org.obiba.magma.MagmaRuntimeException; public final class Initialisables { private Initialisables() {} public static void initialise(@NotNull Initialisable initialisable) { try { initialisable.initialise(); } catch(MagmaRuntimeException e) { throw e; } catch(RuntimeException e) { throw new MagmaRuntimeException(e); } } public static void initialise(Object initialisable) { if(initialisable instanceof Initialisable) { initialise((Initialisable) initialisable); } } public static void initialise(@NotNull Initialisable... initialisable) { for(Initialisable o : initialisable) { initialise(o); } } public static void initialise(@NotNull Object... initialisable) { for(Object o : initialisable) { initialise(o); } } public static void initialise(@NotNull Iterable<?> initialisables) { for(Object o : initialisables) { initialise(o); } } }