001    /**
002     * Copyright 2010-2013 The Kuali Foundation
003     *
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     * http://www.opensource.org/licenses/ecl2.php
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.common.util.property;
017    
018    import org.kuali.common.util.MavenConstants;
019    import org.kuali.common.util.Mode;
020    import org.kuali.common.util.property.processor.NoOpProcessor;
021    import org.kuali.common.util.property.processor.PropertyProcessor;
022    import org.springframework.util.PropertyPlaceholderHelper;
023    
024    public final class Constants {
025    
026            public static final String UTF8 = "UTF-8";
027            public static final String DEFAULT_ENCODING = UTF8;
028            public static final String DEFAULT_MAVEN_PROPERTIES_BEAN_NAME = MavenConstants.MAVEN_PROPERTIES_BEAN_NAME;
029            public static final String DEFAULT_PLACEHOLDER_PREFIX = "${";
030            public static final String DEFAULT_PLACEHOLDER_SUFFIX = "}";
031            public static final String DEFAULT_VALUE_SEPARATOR = ":";
032            public static final String DEFAULT_ESCAPE_STRING = "\\";
033            public static final boolean DEFAULT_IGNORE_UNRESOLVABLE_PLACEHOLDERS = true;
034            public static final boolean DEFAULT_RESOLVE_PLACEHOLDERS = true;
035            public static final String DEFAULT_ENCRYPTED_SUFFIX = ".encrypted";
036            public static final String DEFAULT_PATH_SUFFIX = "path";
037            public static final String DEFAULT_MAJOR_VERSION_SUFFIX = "major";
038            public static final String DEFAULT_MINOR_VERSION_SUFFIX = "minor";
039            public static final String DEFAULT_INCREMENTAL_VERSION_SUFFIX = "incremental";
040            public static final String DEFAULT_QUALIFIER_VERSION_SUFFIX = "qualifier";
041            public static final String DEFAULT_TRIMMED_VERSION_SUFFIX = "trimmed";
042            public static final String DEFAULT_SNAPSHOT_VERSION_SUFFIX = "snapshot";
043            public static final String DEFAULT_CODE_SUFFIX = "code";
044            public static final String DEFAULT_HOME_SUFFIX = "home";
045            public static final String DEFAULT_GROUP_ID_PROPERTY = "project.groupId";
046            public static final String DEFAULT_ARTIFACT_ID_PROPERTY = "project.artifactId";
047            public static final String DEFAULT_USER_HOME_PROPERTY = "user.home";
048            public static final String DEFAULT_VERSION_PROPERTY = "project.version";
049            public static final Mode DEFAULT_PROPERTY_OVERWRITE_MODE = Mode.INFORM;
050            public static final GlobalPropertiesMode DEFAULT_GLOBAL_PROPERTIES_MODE = GlobalPropertiesMode.BOTH;
051            public static final PropertyPlaceholderHelper DEFAULT_PROPERTY_PLACEHOLDER_HELPER = getDefaultHelper();
052            public static final PropertyProcessor NO_OP_PROCESSOR = new NoOpProcessor();
053            public static final String GROUP_ID = "groupId";
054            public static final String GROUP = "group";
055            public static final String NONE = "NONE";
056            public static final String NULL = "NULL";
057            public static final String WILDCARD = "*";
058            public static final String ENCRYPTION_PREFIX = "ENC(";
059            public static final String ENCRYPTION_SUFFIX = ")";
060    
061            public static final String PROJECT_PROPERTIES_FRAGMENT = "META-INF/${project.groupId.path}/${project.artifactId}/project.properties";
062            public static final String PROJECT_PROPERTIES_OUTPUTFILE = "${project.build.outputDirectory}/" + PROJECT_PROPERTIES_FRAGMENT;
063            public static final String PROJECT_PROPERTIES_LOCATION = "classpath:" + PROJECT_PROPERTIES_FRAGMENT;
064    
065            public static final String RICE_PROPERTIES_SUFFIX = "rice-properties.xml";
066            public static final String RICE_PROJECT_PROPERTIES_FRAGMENT = "META-INF/${project.groupId.path}/${project.artifactId}/project-" + RICE_PROPERTIES_SUFFIX;
067            public static final String RICE_PROJECT_PROPERTIES_OUTPUTFILE = "${project.build.outputDirectory}/" + RICE_PROJECT_PROPERTIES_FRAGMENT;
068            public static final String RICE_PROJECT_PROPERTIES_LOCATION = "classpath:" + RICE_PROJECT_PROPERTIES_FRAGMENT;
069    
070            private static final PropertyPlaceholderHelper getDefaultHelper() {
071                    return new PropertyPlaceholderHelper(DEFAULT_PLACEHOLDER_PREFIX, DEFAULT_PLACEHOLDER_SUFFIX, DEFAULT_VALUE_SEPARATOR, DEFAULT_IGNORE_UNRESOLVABLE_PLACEHOLDERS);
072            }
073    
074    }