blob: 2152a83364088a4b59320fad44c702b7f28d19ec [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2007 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.swt.tools.internal;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.Calendar;
public class MetaData {
Properties data;
public MetaData(String mainClass) {
data = new Properties();
int index = 0;
Class<?> clazz = getClass();
int length = mainClass.length();
while (index < length) {
index = mainClass.indexOf('.', index);
if (index == -1) index = length;
InputStream is = clazz.getResourceAsStream(mainClass.substring(0, index) + ".properties");
if (is != null) {
try {
data.load(is);
} catch (IOException e) {
} finally {
try {
is.close();
} catch (IOException e) {}
}
}
index++;
}
}
public MetaData(Properties data) {
this.data = data;
}
public String getCopyright() {
String copyright = getMetaData("swt_copyright", null);
if (copyright == null) return "";
if (copyright.length() == 0) return "";
String end_year_tag = "%END_YEAR";
int index = copyright.indexOf(end_year_tag);
if (index != -1) {
String temp = copyright.substring(0, index);
temp += Calendar.getInstance().get(Calendar.YEAR);
temp += copyright.substring(index + end_year_tag.length());
copyright = temp;
}
return copyright;
}
public String getMetaData(String key, String defaultValue) {
return data.getProperty(key, defaultValue);
}
public void setMetaData(String key, String value) {
data.setProperty(key, value);
}
}