...
Panel |
---|
|
CRM.COM provides hooks to all business methods that can be used to customize the existing business logic. What does this section cover? |
Extending Business
...
Object Classes
To be able to extend the functionality of an existing Business Object EJB class you have to:
- Create a custom EJB class extending com.crm.businessobject.CRMBase and implementing com.crm.hooks.CRMBOHook interface.
- Declare your hook implementation class in hooks.xml file which is located under <your_custom_project_directory>/src/main/resources.
- Implement the overridden methods. Note that even if you need to add no functionality for some of the overridden methods, make sure that they all return the given data object and not null.
Expand |
---|
|
Code Block |
---|
language | java |
---|
theme | Eclipse |
---|
title | MYPLUGINCRMBOContactInformationBean.java |
---|
| @Stateless
@LocalBean
public class MYPLUGINCRMBOContactInformationBean extends CRMBase implements CRMBOHook{
public MYPLUGINCRMBOContactInformationBean() {
// TODO Auto-generated constructor stub
}
@Override
public CRMDO afterConstruct(CRMDO dto) throws Exception {
CRMDOContactInformation contactInformation = (CRMDOContactInformation) dto;
return dto;
}
@Override
public CRMDO beforeSave(CRMDO dto) throws Exception {
return dto;
}
@Override
public CRMDO afterSave(CRMDO dto) throws Exception {
return dto;
}
@Override
public CRMDO beforeValidateOnSave(CRMDO dto) throws Exception {
return dto;
}
@Override
public CRMDO afterValidateOnSave(CRMDO dto) throws Exception {
return dto;
}
@Override
public CRMDO beforeValidateOnDelete(CRMDO dto) throws Exception {
return dto;
}
@Override
public CRMDO afterValidateOnDelete(CRMDO dto) throws Exception {
return dto;
}
@Override
public CRMDO beforeDelete(CRMDO dto) throws Exception {
return dto;
}
@Override
public CRMDO afterDelete(CRMDO dto) throws Exception {
return dto;
}
@Override
public CRMDO afterLoad(CRMDO dto) throws Exception {
return dto;
} |
Code Block |
---|
language | xml |
---|
theme | Eclipse |
---|
title | hooks.xml |
---|
| <hookconfig>
<hooks>
...
<hook>
<serviceclass>CRMBOContactInformationBean</serviceclass>
<interfacename>CRMBOHook</interfacename>
<implementationclass>MYPLUGINCRMBOContactInformationBean</implementationclass>
</hook>
</hooks>
</hookconfig> |
|
...
Extending Process Classes
To be able to extend the functionality of an existing Process EJB class you have to:
- Create a custom EJB class extending com.crm.process.CRMProcess and implementing one of the interfaces found in com.crm.hooks package. Keep in mind that there are available interfaces for some but not all processes.
- Declare your hook implementation class in hooks.xml file which is located under <your_custom_project_directory>/src/main/resources.
- Implement the overridden methods. Note that even if you do not need to add any functionality for some of the overridden methods, make sure that they all return the given data object and not null.
...