Java tutorial
/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.structure; import java.util.Properties; import org.apache.commons.lang.StringUtils; public class SiteProperties { private final SiteKey siteKey; private final Properties properties; public SiteProperties(final SiteKey siteKey, final Properties properties) { this.siteKey = siteKey; this.properties = properties; } public SiteKey getSiteKey() { return siteKey; } public String getSiteURL() { return properties.getProperty(SitePropertyNames.SITE_URL.getKeyName()); } public String getProperty(final String propertyKey) { return StringUtils.trimToNull(properties.getProperty(propertyKey)); } public Properties getProperties() { return properties; } public int getPageCacheTimeToLive() { return getPropertyAsInteger(SitePropertyNames.PAGE_CACHE_TIMETOLIVE); } public boolean getPageCacheEnabled() { return getPropertyAsBoolean(SitePropertyNames.PAGE_CACHE); } public boolean getAuthenticationLoggingEnabled() { return getPropertyAsBoolean(SitePropertyNames.LOGGING_AUTHENTICATION); } public Integer getPropertyAsInteger(final SitePropertyNames key) { String svalue = StringUtils.trimToNull(properties.getProperty(key.getKeyName())); if (svalue != null && !StringUtils.isNumeric(svalue)) { throw new NumberFormatException( "Invalid value of property " + key + " = " + svalue + " in site-" + siteKey + ".properties"); } return svalue == null ? null : new Integer(svalue); } public Boolean getPropertyAsBoolean(final SitePropertyNames key) { String svalue = properties.getProperty(key.getKeyName()); return svalue == null ? Boolean.FALSE : Boolean.valueOf(svalue); } }