001/**
002 * Copyright (C) 2014  Universidade de Aveiro, DETI/IEETA, Bioinformatics Group - http://bioinformatics.ua.pt/
003 *
004 * This file is part of Dicoogle/dicoogle-sdk.
005 *
006 * Dicoogle/dicoogle-sdk is free software: you can redistribute it and/or modify
007 * it under the terms of the GNU General Public License as published by
008 * the Free Software Foundation, either version 3 of the License, or
009 * (at your option) any later version.
010 *
011 * Dicoogle/dicoogle-sdk is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
014 * GNU General Public License for more details.
015 *
016 * You should have received a copy of the GNU General Public License
017 * along with Dicoogle.  If not, see <http://www.gnu.org/licenses/>.
018 */
019
020package pt.ua.dicoogle.sdk.core;
021
022import java.util.List;
023import java.util.Map;
024import java.util.Set;
025import java.util.concurrent.ConcurrentMap;
026import pt.ua.dicoogle.sdk.datastructs.MoveDestination;
027
028/** A read-only interface for accessing server settings.
029 *
030 * @author Eduardo Pinho <eduardopinho@ua.pt>
031 */
032public interface ServerSettingsReader {
033
034    public WebSettingsReader getWeb();
035    
036    public String getAE();
037    
038    public int getAcceptTimeout();
039    
040    public String getAccessListFileName();
041    
042    public boolean getAutoStartPlugin(String name);
043
044    public ConcurrentMap<String,Boolean> getAutoStartPluginsSettings();
045    
046    public String[] getCAET();
047    
048    public int getConnectionTimeout();
049    
050    public int getDIMSERspTimeout();
051    
052    public String getDeviceDescription();
053    
054    public String getDicoogleDir();
055    
056    public Set<String> getExtensionsAllowed();
057    
058    public boolean getFullContentIndex();
059    
060    public String getID();
061    
062    public int getIdleTimeout();
063    
064    public String getIndexer();
065    
066    public String getNodeName();
067    
068    public boolean isNodeNameDefined();
069    
070    public String getNetworkInterfaceName();
071    
072    public int getIndexerEffort();
073    
074    public boolean isEncryptUsersFile();
075    
076    public boolean isIndexZIPFiles();
077    
078    public boolean isMonitorWatcher();
079    
080    public boolean isIndexAnonymous();
081    
082    public boolean isGzipStorage();
083    
084    public boolean getPermitAllAETitles();
085    
086    public String getPath();
087    
088    public int getStoragePort();
089    
090    public boolean getSaveThumbnails();
091    
092    public String getThumbnailsMatrix();
093    
094    public int getWlsPort();
095    
096    public int getRspDelay();
097    
098    public String[] getSOPClasses();
099    
100    public String getSOPClass();
101    
102    public String getTransfCap();
103    
104    public int getMaxClientAssoc();
105    
106    public int getMaxPDULengthReceive();
107    
108    public int getMaxPDULenghtSend();
109    
110    public String getLocalAETName();
111    
112    public String getPermitedLocalInterfaces();
113    
114    public String getPermitedRemoteHostnames();
115    
116    public boolean isStorage();
117    
118    public boolean isQueryRetrive();
119    
120    public boolean isWANModeEnabled();
121    
122    public int getMaxMessages();
123    
124    public String getNetworkInterfaceAddress();
125    
126    public List<String> getNetworkInterfacesNames();
127    
128    public Map<String, Object> getStorageSettings();
129    
130    public Map<String, Object> getQueryRetrieveSettings();
131    
132    public Map<String, String> getModalityFind();
133
134    public List<MoveDestination> getMoves();
135
136    public Set<String> getPriorityAETitles();
137
138}
139