1 package fr.ifremer.quadrige3.synchro.meta.administration; 2 3 /*- 4 * #%L 5 * Quadrige3 Core :: Quadrige3 Synchro Core 6 * $Id:$ 7 * $HeadURL:$ 8 * %% 9 * Copyright (C) 2017 Ifremer 10 * %% 11 * This program is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Affero General Public License as published by 13 * the Free Software Foundation, either version 3 of the License, or 14 * (at your option) any later version. 15 * 16 * This program is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * You should have received a copy of the GNU Affero General Public License 22 * along with this program. If not, see <http://www.gnu.org/licenses/>. 23 * #L% 24 */ 25 26 import com.google.common.collect.ImmutableSet; 27 import com.google.common.collect.Sets; 28 29 import java.util.Set; 30 31 /** 32 * Programs & Strategy tables to synchronize (e.g. when a local administrator export into a file) 33 * 34 * @author Benoit Lavenier <benoit.lavenier@e-is.pro> 35 * @since 1.0 36 */ 37 public enum ProgramStrategySynchroTables { 38 39 // Valid tables: 40 PROG_DEP_PROG_PRIV, 41 PROG_QUSER_PROG_PRIV, 42 PMFM_STRAT_ACQUIS_LEVEL, 43 PMFM_STRAT_UI_FUNCTION, 44 PMFM_STRAT_PMFM_QUAL_VALUE, 45 APPLIED_PERIOD, 46 APPLIED_STRATEGY, 47 PMFM_APPLIED_STRATEGY, 48 PMFM_STRATEGY, 49 RESP_QUSER_STRAT, // need to allow deletion import (mantis #28389) 50 RESP_DEP_STRAT, // need to allow deletion import (mantis #28389) 51 STRATEGY, 52 COMPUTE_FUNCTION_PROG, 53 MON_LOC_PROG, 54 PROGRAMME; 55 56 /** Constant <code>tableNames</code> */ 57 private static Set<String> tableNames = null; 58 59 /** 60 * <p> 61 * tableNames. 62 * </p> 63 * 64 * @return a {@link java.util.Set} object. 65 */ 66 public static Set<String> tableNames() { 67 if (tableNames != null) { 68 return tableNames; 69 } 70 71 tableNames = Sets.newLinkedHashSet(); 72 for (ProgramStrategySynchroTables value : values()) { 73 tableNames.add(value.name()); 74 } 75 76 tableNames = ImmutableSet.copyOf(tableNames); 77 return tableNames; 78 } 79 80 }