~~NOTRANS~~
~~Title: Rename Server-Side Objects and Action Names~~
If you call an action or request a server-side object, you should know the name of the action or the object. Usually this isn't a big problem because it's your application and you know everything about it. But it's different if you use pre-defined application frames like ProjX.
The application frame has some prerequisites, e.g., the menu will be created after authentication. The application frame does the following call:
AbstractConnection con = getConnection();
Object[] oResult = con.call(new String[] {"workScreenAccess", 
                                          "workScreenAccess", 
                                          "workScreenAccess"},
                            new String[] {"getAvailableWorkScreens", 
                                          "getAvailableRoles", 
                                          "getAvailableMetaData"});
This means that you have the following in your Session LCO:
public IWorkScreenAccess getWorkScreenAccess() throws Exception
{
    IWorkScreenAccess wsac = (IWorkScreenAccess)get("workScreenAccess");
    if (wsac == null)
    {
        wsac = new DBWorkScreenAccess();
        ((DBWorkScreenAccess)wsac).setDBDataSource(getDBAccess());
        put("workScreenAccess", wsac);
    }
    return wsac;
}
The application frame won't work if the method name isn't getWorkScreenAccess. If you have a specific naming schema and won't use the same method name, you could do the following:
@Replacement(name="workScreenAccess")
public IWorkScreenAccess getWSAccess() throws Exception
{
   ...
}
The Replacement annotation maps the custom method to the expected name. This annotation can be used for object and action names:
@Replacement(name="sendCustomerEmail")
public void notifyCustomer() throws Exception
{
   ...
}
The Replacement will work for LCO names as well:
@Replacement(name = "Public")
public class ExternalSession extends GenericBean 
{
}
The LCO can be used with the original name or the Replacement. Both names will work.