/**
* Դ�������ƣ�BasicResInfoAdapterFactory.java
* �������Ȩ���������ӹɷ�����˾ ��Ȩ����
* ϵͳ���ƣ�JRES Studio
* ģ�����ƣ�com.hundsun.ares.studio.jres.model.core.util
* ����˵�������䵽CommonModelʵ�������ͼ������֧��
* ����ĵ���
* ���ߣ�
*/
package com.hundsun.ares.studio.internal.core;
import org.apache.commons.lang.StringUtils;
import org.eclipse.core.runtime.IAdapterFactory;
import com.hundsun.ares.studio.core.model.BasicResourceInfo;
import com.hundsun.ares.studio.core.model.CommonModel;
import com.hundsun.ares.studio.core.model.ICommonModel;
public class BasicResInfoAdapterFactory implements IAdapterFactory {
private static Class[] ADAPTERS = new Class[] {ICommonModel.class};
private static class BasicInfoCommonModel extends CommonModel {
private BasicResourceInfo info;
BasicInfoCommonModel(BasicResourceInfo basicInfo) {
this.info = basicInfo;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.model.ICommonModel#getValue(java.lang.String)
*/
@Override
public Object getValue(String key) {
if (StringUtils.equals(ICommonModel.CNAME, key)) {
return info.getChineseName();
} else if (StringUtils.equals(ICommonModel.NAME, key)) {
return info.getName();
} else if (StringUtils.equals(ICommonModel.ID, key)) {
return info.getObjectId();
}
return null;
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.core.model.ICommonModel#setValue(java.lang.String, java.lang.Object)
*/
@Override
public void setValue(String key, Object value) {
if (StringUtils.equals(ICommonModel.CNAME, key)) {
info.setChineseName(String.valueOf(value));
} else if (StringUtils.equals(ICommonModel.NAME, key)) {
info.setName(String.valueOf(value));
}
}
}
@Override
public Object getAdapter(Object adaptableObject, Class adapterType) {
if (adapterType == ICommonModel.class && adaptableObject instanceof BasicResourceInfo) {
return new BasicInfoCommonModel((BasicResourceInfo) adaptableObject);
}
return null;
}
@Override
public Class[] getAdapterList() {
return ADAPTERS;
}
}