improved settings dialogs
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.wiki / src / net / sourceforge / phpeclipse / wiki / internal / Configuration.java
1 /**********************************************************************
2  * Copyright (c) 2003 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Common Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v10.html
7   *
8  * Contributors:
9  *    IBM - Initial API and implementation
10  **********************************************************************/
11 package net.sourceforge.phpeclipse.wiki.internal;
12
13 import net.sourceforge.phpeclipse.wiki.editor.WikiEditorPlugin;
14
15 /**
16  *  
17  */
18 public class Configuration implements IConfiguration {
19   private static final String MEMENTO_ID = "id";
20
21   private static final String MEMENTO_NAME = "name";
22   
23   private static final String MEMENTO_USER = "user";
24
25   private static final String MEMENTO_URL = "url";
26
27   private static final String MEMENTO_PASSWORD = "password";
28
29   private static final String MEMENTO_TYPE_ID = "type-id";
30
31   protected String fId = "";
32
33   protected String fName = "";
34
35   protected String fUrl = "";
36
37   protected String fPassword = "";
38
39   protected String fUser = "";
40
41   protected String fType = "";
42
43   public Configuration() {
44     this(WikiEditorPlugin.HTTP_QUERY); // default type
45   }
46
47   public Configuration(String type) {
48     this.fType = type;
49   }
50
51   public String getId() {
52     return fId;
53   }
54   
55   public String getName() {
56     return fName;
57   }
58
59   public String getURL() {
60     return fUrl;
61   }
62
63   public String getPassword() {
64     return fPassword;
65   }
66
67   /*
68    * (non-Javadoc)
69    * 
70    * @see org.eclipse.monitor.internal.IConfiguration#getLocalPort()
71    */
72   public String getUser() {
73     return fUser;
74   }
75
76   /**
77    */
78   public String getType() {
79     return fType;
80   }
81
82   /*
83    * (non-Javadoc)
84    * 
85    * @see org.eclipse.monitor.internal.IConfiguration#isRunning()
86    */
87   public boolean isActive() {
88     return ConfigurationManager.getInstance().isActive(this);
89   }
90
91   public void delete() {
92     ConfigurationManager.getInstance().removeConfiguration(this);
93   }
94
95   public boolean isWorkingCopy() {
96     return false;
97   }
98
99   public IConfigurationWorkingCopy getWorkingCopy() {
100     return new ConfigurationWorkingCopy(this);
101   }
102
103   protected void setInternal(IConfiguration monitor) {
104     fId = monitor.getId();
105     fName = monitor.getName();
106     fUrl = monitor.getURL();
107     fPassword = monitor.getPassword();
108     fUser = monitor.getUser();
109     fType = monitor.getType();
110   }
111
112   protected void save(IMemento memento) {
113     memento.putString(MEMENTO_ID, fId);
114     memento.putString(MEMENTO_NAME, fName);
115     memento.putString(MEMENTO_TYPE_ID, fType);
116     memento.putString(MEMENTO_USER, fUser);
117     memento.putString(MEMENTO_URL, fUrl);
118     memento.putString(MEMENTO_PASSWORD, fPassword);
119   }
120
121   protected void load(IMemento memento) {
122     fId = memento.getString(MEMENTO_ID);
123     if (fId == null) {
124       fId = "";
125     }
126     fName = memento.getString(MEMENTO_NAME);
127     if (fName == null) {
128       fName = "";
129     }
130     fType = memento.getString(MEMENTO_TYPE_ID);
131     if (fType == null) {
132       fType = "";
133     }
134     fUser = memento.getString(MEMENTO_USER);
135     if (fUser == null) {
136       fUser = "";
137     }
138     fUrl = memento.getString(MEMENTO_URL);
139     if (fUrl == null) {
140       fUrl = "";
141     }
142     fPassword = memento.getString(MEMENTO_PASSWORD);
143     if (fPassword == null) {
144       fPassword = "";
145     }
146   }
147 }