/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package cli_fmw.delegate.directory.complex;
import cli_fmw.delegate.directory.DirectoryItemRecursive;
import cli_fmw.delegate.client.Address;
import cli_fmw.delegate.directory.DirectoryRecursive;
import cli_fmw.main.ClipsException;
import framework.beans.directory.DirectoryItemRecursiveDetails;
import framework.beans.directory.enterprise.DirectoryEnterpriseBeanRemoteAbstract;
import framework.beans.directory.enterprise.EnterpriseDetailsAbstract;
/**
* @param <ITEM>
* @param <DETAILS>
* @param <DIRECTORY>
* @author ViP
*/
public abstract class DirectoryEnterpriseItemAbstract<
ITEM extends DirectoryEnterpriseItemAbstract<ITEM, DETAILS>,
DETAILS extends EnterpriseDetailsAbstract
>
extends DirectoryItemRecursive<ITEM, DETAILS> {
public DirectoryEnterpriseItemAbstract(DETAILS details) {
super(details);
}
public Address getAddress() throws ClipsException {
return new Address(getDetails().address);
}
/**
*
* @param address
* @throws ClipsException
*/
public void setAddress(Address address) throws ClipsException {
if(isInDirectory()) {
DETAILS newDetails = getDetailsCopy();
newDetails.address = address.getDetails();
saveDetails(newDetails);
} else {
getDetails().address = address.getDetails();
}
}
public String getOkved() throws ClipsException {
return getDetails().okved;
}
/**
*
* @param address
* @throws ClipsException
*/
public void setOkved(String okved) throws ClipsException {
if(isInDirectory()) {
DETAILS newDetails = (DETAILS) getDetailsCopy();
newDetails.okved = okved;
saveDetails(newDetails);
} else {
getDetails().okved = okved;
}
}
/**
* Название предприятия в рекурсивном виде. выдаст несколько строк - сначала
* головное предприятие, под ним подразделения в формате HTML только без
* начального и конечных тегов <HTML></HTML>.
* @param useHtml
* @return
* @throws ClipsException
*/
public String getFullTitle(boolean useHtml) throws ClipsException {
DirectoryEnterpriseItemAbstract superItem = getParent();
if (superItem != null) {
return superItem.getFullTitle(useHtml) + (useHtml ? "<p>" : ". \n") + getTitle() + (useHtml ? "</p>" : "");
} else {
if (getTitle() != null) {
return (useHtml ? "<p>" : "") + getTitle() + (useHtml ? "</p>" : "");
} else {
return "";
}
}
}
}