/**
* <p>Copyright: Copyright (c) 2009</p>
* <p>Company: �������ӹɷ�����˾</p>
*/
package com.hundsun.ares.studio.internal.core;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.hundsun.ares.studio.core.IARESProjectProperty;
import com.hundsun.ares.studio.core.IDependenceDescriptor;
import com.hundsun.ares.studio.core.model.extendable.ExtendAbleModel;
/**
* ��Ŀ����
* @author sundl
*/
public class ARESProjectProperty extends ExtendAbleModel implements IARESProjectProperty{
private String id;
private String name;
private String provider;
private String version;
private String contact;
private String note;
private String publisher;
private String pubTime;
private Map<String, Object> properties = new HashMap<String, Object>();
private List<IDependenceDescriptor> dependencies = new ArrayList<IDependenceDescriptor>();
/**
* @return the id
*/
public String getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(String id) {
this.id = id;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the provider
*/
public String getProvider() {
return provider;
}
/**
* @param provider the provider to set
*/
public void setProvider(String provider) {
this.provider = provider;
}
public String getNote() {
return note;
}
public void setNote(String note) {
this.note = note;
}
public IDependenceDescriptor[] getDependencies() {
return this.dependencies.toArray(new IDependenceDescriptor[this.dependencies.size()]);
}
public List<IDependenceDescriptor> getDependencisList() {
return this.dependencies;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.IARESProjectProperty#getVersion()
*/
public String getVersion() {
return version;
}
/**
* @param version the version to set
*/
public void setVersion(String version) {
this.version = version;
}
public String getContact() {
return contact;
}
public void setContact(String contact) {
this.contact = contact;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public void setPubTime(String pubTime) {
this.pubTime = pubTime;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.IARESProjectProperty#getBoolean(java.lang.String)
*/
public boolean getBoolean(String name) {
String value = getString(name);
if (value != null)
return Boolean.parseBoolean(value);
return false;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.IARESProjectProperty#getBoolean(java.lang.String, boolean)
*/
public boolean getBoolean(String name, boolean defaultValue) {
String value = getString(name);
return value == null ? defaultValue : Boolean.parseBoolean(value);
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.IARESProjectProperty#getInt(java.lang.String)
*/
public int getInt(String name) {
String value = getString(name);
return value == null ? 0 : Integer.parseInt(value);
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.IARESProjectProperty#getInt(java.lang.String, int)
*/
public int getInt(String name, int defaultValue) {
String value = getString(name);
return value == null ? defaultValue : Integer.parseInt(value);
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.IARESProjectProperty#getString(java.lang.String)
*/
public String getString(String name) {
Object value = properties.get(name);
String str = value == null ? null : String.valueOf(value);
return str;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.IARESProjectProperty#getString(java.lang.String, java.lang.String)
*/
public String getString(String name, String defaultValue) {
String value = getString(name);
if (value == null)
value = defaultValue;
return value;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.IARESProjectProperty#setValue(java.lang.String, java.lang.String)
*/
public void setValue(String name, String value) {
properties.put(name, value);
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.IARESProjectProperty#setValue(java.lang.String, int)
*/
public void setValue(String name, int value) {
properties.put(name, String.valueOf(value));
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.IARESProjectProperty#setValue(java.lang.String, boolean)
*/
public void setValue(String name, boolean value) {
properties.put(name, String.valueOf(value));
}
public Map<String, Object> getProperties() {
return properties;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.IARESProjectProperty#getPublisher()
*/
public String getPublisher() {
return publisher;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.IARESProjectProperty#getPubTime()
*/
public String getPubTime() {
return pubTime;
}
}