001package co.codewizards.cloudstore.local;
002
003import static co.codewizards.cloudstore.core.util.Util.*;
004
005public enum PersistencePropertiesEnum {
006        CONNECTION_DRIVER_NAME("javax.jdo.option.ConnectionDriverName"),
007
008        CONNECTION_URL("javax.jdo.option.ConnectionURL"),
009
010        /**
011         * The connection-URL is modified, if the DB needs to be created. This property keeps
012         * the original connection-URL. However, this URL, too, is resolved (i.e. variables
013         * are replaced by values).
014         */
015        CONNECTION_URL_ORIGINAL("_ORIGINAL_javax.jdo.option.ConnectionURL"),
016
017        CONNECTION_USER_NAME("javax.jdo.option.ConnectionUserName"),
018
019        CONNECTION_PASSWORD("javax.jdo.option.ConnectionPassword")
020        ;
021
022        public final String key;
023
024        private PersistencePropertiesEnum(String key) {
025                this.key = assertNotNull("key", key);
026        }
027
028        @Override
029        public String toString() {
030                return key;
031        }
032
033        public static PersistencePropertiesEnum fromKey(String key) {
034                for (PersistencePropertiesEnum e : values()) {
035                        if (e.key.equals(key))
036                                return e;
037                }
038                throw new IllegalArgumentException("There is no PersistencePropertiesEnum value for this key: " + key);
039        }
040}