palio.modules
Class Ezop

java.lang.Object
  extended by palio.modules.core.Module
      extended by palio.modules.Ezop
All Implemented Interfaces:
palio.Constants, palio.modules.core.CurrentModuleDataKeys

public final class Ezop
extends palio.modules.core.Module
implements palio.Constants

Moduł udostępnia zestaw funkcji wykorzystywanych do budowy sklepików internetowych. Uwaga! Do prawidłowej pracy wymaganych jest wiele parametrów konfiguracyjnych.

Moduł trzeba dodać w konfiguracji instancji jPalio.

Version:
0.9.1
Author:
Szymon Kuklewicz (skuklewicz@torn.com.pl)

Field Summary
 
Fields inherited from interface palio.Constants
DECIMAL_ZERO, INTEGER_ONE, LONG_MINUS_ONE, LONG_ONE, LONG_THREE, LONG_TWO, LONG_ZERO, STRING_EMPTY
 
Fields inherited from interface palio.modules.core.CurrentModuleDataKeys
DESIGNER_ACTIONS_BUFFER, HTML_FORM_BUILDER, HTML_MAP_BUILDER, HTML_MENU_BUILDER, HTML_TOOLTIPS_BUFFER, ITEXT_DOCUMENT, MAIL_MESSAGE, XLS_DOCUMENT, XML_DOCUMENT
 
Constructor Summary
Ezop(palio.Instance instance, java.util.Properties parameters)
           
 
Method Summary
 java.lang.Object caseValue(java.lang.String paramName, java.lang.Object[] cases, java.lang.Object[] returns)
          Funkcja pełni rolę słowa kluczowego switch w języku Java.
 void clearBasket()
          Czyci cały koszyk dla bieżącej sesji.
 void debug(java.lang.Boolean mode)
           
 java.lang.String formatPrice(java.math.BigDecimal price)
          Skaluje wartoć wejciową do dwóch miejsc po częci całkowitej.
 java.util.LinkedList getBasketContent()
          Zwraca informacje produktach zawartych koszyku, ich iloci i bieżącej dostępnoci.
 java.lang.Long getBasketProduct(java.lang.Long productID)
          Zwraca iloć produktów w koszyku dla bieżącej sesji
 java.lang.Object[] getClientData()
          Zwraca dane aktualnie zalogowanego klienta.
 java.util.LinkedList getFullProductsInfo(java.lang.Object[] ID)
          Wywietla szczegółowe informacje o zadanych produktach.
 java.lang.Long getPageNo(java.lang.Long index, java.lang.Long perPage)
          Zwraca numer strony, która powinna zawierać dany produkt.
 java.lang.String getPolishDeclination(java.lang.Long value, java.lang.Object[] declinations)
          Zwraca wyraz w odpowiadającej odmianie w zależnoci od wartoci liczebnika stojącego obok.
 java.lang.Long getProductCount()
          Zwraca iloć wszystkich produktów aktualnie dostępnych klientom.
 java.lang.Long getProductCount(java.lang.Object[] categories, java.math.BigDecimal priceFrom, java.math.BigDecimal priceTo, java.lang.String name)
          Zwraca iloć wszystkich produktów aktualnie dostępnych klientom odpowiadających zadanym kryteriom.
 java.lang.Long[] getProductPage(java.lang.Object[] categories, java.math.BigDecimal priceFrom, java.math.BigDecimal priceTo, java.lang.String name, java.lang.Long pageNo, java.lang.Long perPage)
          Zwraca jedną stronę produktów aktualnie dostępnych klientom odpowiadających zadanym kryteriom.
 java.util.LinkedList getShortProductsInfo(java.lang.Object[] ID)
          Wywietla skrótowe informacje o zadanych produktach.
 java.lang.String getVersion()
          Zwraca numer wersji modułu.
 void insertIntoBasket(java.lang.Long productID, java.lang.Long quantity)
          Dodaje do koszyka dla bieżącej sesji iloć sztuk danego produktu.
 java.lang.Boolean isBasketEmpty()
          Sprawdz czy jest pusty koszyk dla bieżącej sesji.
 java.lang.Boolean isClientRegistered()
          Sprawdza czy w systemie jest zalogowany klient.
 java.lang.String largeImageURL(java.lang.Object ID)
          Zwraca adres URL dostępu do dużego obrazu produktu.
 java.math.BigDecimal readBigDecimal(java.lang.Object object)
          Zwraca wartoć typu BigDecimal o ile możliwe jest pozyskanie wartoci z obiektu wejciowego.
 java.lang.Long readLong(java.lang.Object object)
          Zwraca wartoć typu Long o ile możliwe jest pozyskanie wartoci z obiektu wejciowego.
 java.math.BigDecimal readPrice(java.lang.Object object)
          Zwraca wartoć typu BigDecimal o ile możliwe jest pozyskanie wartoci z obiektu wejciowego.
 java.lang.Long registerClient(java.lang.String login, java.lang.String password, java.lang.String first_name, java.lang.String last_name, java.lang.String postal_code, java.lang.String street, java.lang.String flat, java.lang.String home, java.lang.String city, java.lang.String country, java.lang.String region, java.lang.String phone_prefix, java.lang.String phone1, java.lang.String phone2, java.lang.String fax, java.lang.String regon, java.lang.String nip, java.lang.String company, java.lang.String job_title)
          Rejestruje klienta w systemie dla podanych danych.
 void removeFromBasket(java.lang.Long productID)
          Usuwa z koszyka dla bieżącej sesji jedną sztukę danego produktu.
 void removeFromBasket(java.lang.Long productID, java.lang.Long quantity)
          Usuwa z koszyka dla bieżącej sesji iloć sztuk danego produktu.
 java.lang.Long roundToBracket(java.lang.Long value, java.lang.Long left, java.lang.Long right)
          Zwraca wartoć najbliższą danej z zapewnieniem, że będzie się znajdywać w okrelonym przedziale.
 void setBasketProduct(java.lang.Long productID, java.lang.Long quantity)
          Ustawia w koszyku dla bieżącej sesji iloć sztuk danego produktu.
 java.lang.String smallImageURL(java.lang.Object ID)
          Zwraca adres URL dostępu do małego obrazu produktu.
 java.lang.Long updateClient(java.lang.String login, java.lang.String password, java.lang.String first_name, java.lang.String last_name, java.lang.String postal_code, java.lang.String street, java.lang.String flat, java.lang.String home, java.lang.String city, java.lang.String country, java.lang.String region, java.lang.String phone_prefix, java.lang.String phone1, java.lang.String phone2, java.lang.String fax, java.lang.String regon, java.lang.String nip, java.lang.String company, java.lang.String job_title)
          Zmienia dane klienta w systemie na podane dane.
 
Methods inherited from class palio.modules.core.Module
getConfigParam, getDescription, getModuleTranslation
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Ezop

public Ezop(palio.Instance instance,
            java.util.Properties parameters)
Method Detail

getVersion

public final java.lang.String getVersion()
Zwraca numer wersji modułu.

Specified by:
getVersion in class palio.modules.core.Module

debug

public void debug(java.lang.Boolean mode)

smallImageURL

public final java.lang.String smallImageURL(java.lang.Object ID)
Zwraca adres URL dostępu do małego obrazu produktu. Obraz jest pobierany z zewnętrznej tabeli produktów. Przykładowe użycie w jpalio:

Parameters:
ID - produktu z wewnętrznej tabeli produktów
Returns:
adres URL dostępu do obrazu

largeImageURL

public final java.lang.String largeImageURL(java.lang.Object ID)
Zwraca adres URL dostępu do dużego obrazu produktu. Obraz jest pobierany z zewnętrznej tabeli produktów. Przykładowe użycie w jpalio:

Parameters:
ID - produktu z wewnętrznej tabeli produktów
Returns:
adres URL dostępu do obrazu

roundToBracket

public java.lang.Long roundToBracket(java.lang.Long value,
                                     java.lang.Long left,
                                     java.lang.Long right)
Zwraca wartoć najbliższą danej z zapewnieniem, że będzie się znajdywać w okrelonym przedziale.

Parameters:
value - wartoć wejciowa
left - lewa granica dozwolonego przedziału
right - prawa granica dozwolonego przedziału
Returns:
wartoć z danego przedziału

readBigDecimal

public java.math.BigDecimal readBigDecimal(java.lang.Object object)
                                    throws palio.PalioException
Zwraca wartoć typu BigDecimal o ile możliwe jest pozyskanie wartoci z obiektu wejciowego.

Parameters:
object - wartoć wejciowa
Returns:
przetworzona wartoć typu BigDecimal
Throws:
palio.PalioException

readLong

public java.lang.Long readLong(java.lang.Object object)
Zwraca wartoć typu Long o ile możliwe jest pozyskanie wartoci z obiektu wejciowego.

Parameters:
object - wartoć wejciowa
Returns:
przetworzona wartoć typu Long

readPrice

public java.math.BigDecimal readPrice(java.lang.Object object)
                               throws palio.PalioException
Zwraca wartoć typu BigDecimal o ile możliwe jest pozyskanie wartoci z obiektu wejciowego. Dodatkowo zwracana wartoć jest skalowana do dwóch miejsc po częci całkowitej.

Parameters:
object - wartoć wejciowa
Returns:
przetworzona wartoć typu BigDecimal po przeskalowaniu
Throws:
palio.PalioException

formatPrice

public java.lang.String formatPrice(java.math.BigDecimal price)
Skaluje wartoć wejciową do dwóch miejsc po częci całkowitej.

Parameters:
price - wartoć wejciowa
Returns:
wartoć wejciowa po przeskalowaniu

caseValue

public java.lang.Object caseValue(java.lang.String paramName,
                                  java.lang.Object[] cases,
                                  java.lang.Object[] returns)
Funkcja pełni rolę słowa kluczowego switch w języku Java. Jeżeli w tabeli cases znajdzie się wartoć paramName, zwracana jest odpowiednia wartoć z tabeli returns. Tabele cases i returns muszą mieć tą samą długoć.

Parameters:
paramName - nazwa parametru, której wartoci szukasz
cases - tabela z nazwami parametrów
returns - tabela z wartociami parametrów

getPageNo

public java.lang.Long getPageNo(java.lang.Long index,
                                java.lang.Long perPage)
Zwraca numer strony, która powinna zawierać dany produkt.

Parameters:
index - numer produktu na licie
perPage - iloć produktów na stronie
Returns:
numer strony zawierającą dany produkt

getProductCount

public java.lang.Long getProductCount()
                               throws palio.PalioException
Zwraca iloć wszystkich produktów aktualnie dostępnych klientom.

Returns:
iloć wszystkich produktów aktualnie dostępnych klientom
Throws:
palio.PalioException

getProductCount

public java.lang.Long getProductCount(java.lang.Object[] categories,
                                      java.math.BigDecimal priceFrom,
                                      java.math.BigDecimal priceTo,
                                      java.lang.String name)
                               throws palio.PalioException
Zwraca iloć wszystkich produktów aktualnie dostępnych klientom odpowiadających zadanym kryteriom.

Parameters:
categories - lista kategorii do przeszukiwania, dla wartoci null przeszukiwane są wszystkie kategorie
priceFrom - minimalna cena produktu, może być wartoć null
priceTo - maksymalna cena produktu, może być wartoć null
name - fragment nazwy produktu, może być wartoć null
Returns:
iloć wszystkich produktów aktualnie dostępnych klientom odpowiadających zadanym kryteriom
Throws:
palio.PalioException

getProductPage

public java.lang.Long[] getProductPage(java.lang.Object[] categories,
                                       java.math.BigDecimal priceFrom,
                                       java.math.BigDecimal priceTo,
                                       java.lang.String name,
                                       java.lang.Long pageNo,
                                       java.lang.Long perPage)
                                throws palio.PalioException
Zwraca jedną stronę produktów aktualnie dostępnych klientom odpowiadających zadanym kryteriom.

Parameters:
categories - lista kategorii do przeszukiwania, dla wartoci null przeszukiwane są wszystkie kategorie
priceFrom - minimalna cena produktu, może być wartoć null
priceTo - maksymalna cena produktu, może być wartoć null
name - fragment nazwy produktu, może być wartoć null
pageNo - numer strony z produktami do wywietlenia
perPage - iloć produktów wywietlanych na jednej stronie
Returns:
iloć wszystkich produktów aktualnie dostępnych klientom odpowiadających zadanym kryteriom
Throws:
palio.PalioException

getShortProductsInfo

public java.util.LinkedList getShortProductsInfo(java.lang.Object[] ID)
                                          throws palio.PalioException
Wywietla skrótowe informacje o zadanych produktach.

Parameters:
ID - lista produktów, które chcesz wywietlić
Returns:
lista informacji o produktach, każdy element listy jest tabelą o kolejnych wartociach: - ID produktu w wewnętrznej tabeli produktów - zarezerwowane (null) - domylna cena produktu - cena produktu dla bieżącego klienta (domylna jeżeli nie jest zalogowany) - numer katalogowy produktu - nazwa produktu - skrótowy opis produktów (HTML) - dlugoc gwarancji w miesiącach
Throws:
palio.PalioException

getFullProductsInfo

public java.util.LinkedList getFullProductsInfo(java.lang.Object[] ID)
                                         throws palio.PalioException
Wywietla szczegółowe informacje o zadanych produktach.

Parameters:
ID - lista produktów, które chcesz wywietlić
Returns:
lista informacji o produktach, każdy element listy jest tabelą o kolejnych wartociach: - ID produktu w wewnętrznej tabeli produktów - zarezerwowane (null) - cena produktu dla klienta netto (domyslna netto jeżeli nie jest zalogowany) - numer katalogowy produktu - nazwa produktu - skrótowy opis produktów (HTML) - szczegółowy opis produktów (HTML) - dlugoc gwarancji w miesiącach - cena produktu dla klienta brutto (domylna brutton jeżeli nie jest zalogowany) - nazwa podatku
Throws:
palio.PalioException

isClientRegistered

public java.lang.Boolean isClientRegistered()
                                     throws palio.PalioException
Sprawdza czy w systemie jest zalogowany klient. Ta funkcja wywołuje zapytanie do bazy danych. Nie jest zalecane częste jej wywoływanie.

Returns:
wartoć prawdziwa jeżeli jest zalogowany klient
Throws:
palio.PalioException

registerClient

public java.lang.Long registerClient(java.lang.String login,
                                     java.lang.String password,
                                     java.lang.String first_name,
                                     java.lang.String last_name,
                                     java.lang.String postal_code,
                                     java.lang.String street,
                                     java.lang.String flat,
                                     java.lang.String home,
                                     java.lang.String city,
                                     java.lang.String country,
                                     java.lang.String region,
                                     java.lang.String phone_prefix,
                                     java.lang.String phone1,
                                     java.lang.String phone2,
                                     java.lang.String fax,
                                     java.lang.String regon,
                                     java.lang.String nip,
                                     java.lang.String company,
                                     java.lang.String job_title)
                              throws palio.PalioException
Rejestruje klienta w systemie dla podanych danych. Dane użytkownika zostają umieszczone w podstawowej zewnętrznej bezie klientów.

Parameters:
login - nazwa klienta
password - hasło klienta
first_name - imię klienta
last_name - nazwisko klienta
postal_code - kod pocztowy do adresu korespondencyjnego klienta
street - nazwa ulicy do adresu korespondencyjnego klienta
flat - numer domu do adresu korespondencyjnego klienta
home - numer mieszkania do adresu korespondencyjnego klienta
city - nazwa miasta do adresu korespondencyjnego klienta
country - nazwa kraju do adresu korespondencyjnego klienta
region - nazwa regioun do adresu korespondencyjnego klienta
phone_prefix - numer kierunkowy telefonu stacjonarnego klienta
phone1 - podstawowy numer telefonu klienta
phone2 - alternatywny numer telefonu klienta
fax - numer faxu klienta
regon - numer REGON'u klienta
nip - numer NIP'u klienta
company - nazwa firmy klienta
job_title - nazwa stanowiska klienta
Returns:
ID nowoutworzonego klienta w wewnętrznej bazie klientów, null jeżeli wystąpił błąd
Throws:
palio.PalioException

updateClient

public java.lang.Long updateClient(java.lang.String login,
                                   java.lang.String password,
                                   java.lang.String first_name,
                                   java.lang.String last_name,
                                   java.lang.String postal_code,
                                   java.lang.String street,
                                   java.lang.String flat,
                                   java.lang.String home,
                                   java.lang.String city,
                                   java.lang.String country,
                                   java.lang.String region,
                                   java.lang.String phone_prefix,
                                   java.lang.String phone1,
                                   java.lang.String phone2,
                                   java.lang.String fax,
                                   java.lang.String regon,
                                   java.lang.String nip,
                                   java.lang.String company,
                                   java.lang.String job_title)
                            throws palio.PalioException
Zmienia dane klienta w systemie na podane dane. Dane klienta pozostają w bieżącej lokalizacji. Loginu klienta nie można zmienić - wymagany w celu weryfikacji.

Parameters:
login - nazwa klienta (wymagany w celach weryfikacji)
password - hasło klienta (podaj null jeżeli nie chcesz zmieniać)
first_name - imię klienta
last_name - nazwisko klienta
postal_code - kod pocztowy do adresu korespondencyjnego klienta
street - nazwa ulicy do adresu korespondencyjnego klienta
flat - numer domu do adresu korespondencyjnego klienta
home - numer mieszkania do adresu korespondencyjnego klienta
city - nazwa miasta do adresu korespondencyjnego klienta
country - nazwa kraju do adresu korespondencyjnego klienta
region - nazwa regioun do adresu korespondencyjnego klienta
phone_prefix - numer kierunkowy telefonu stacjonarnego klienta
phone1 - podstawowy numer telefonu klienta
phone2 - alternatywny numer telefonu klienta
fax - numer faxu klienta
regon - numer REGON'u klienta
nip - numer NIP'u klienta
company - nazwa firmy klienta
job_title - nazwa stanowiska klienta
Returns:
ID klienta w wewnętrznej bazie klientów, null jeżeli wystąpił błąd
Throws:
palio.PalioException

getClientData

public java.lang.Object[] getClientData()
                                 throws palio.PalioException
Zwraca dane aktualnie zalogowanego klienta.

Returns:
tablica danych klienta w formacie: [login,first name,last name,postal code,street,flat,home,city,country, region,phone_prefix,phone 1,phone 2,fax,regon,nip,company,job_title]
Throws:
palio.PalioException - jeżeli klient nie jest zalogowany

setBasketProduct

public void setBasketProduct(java.lang.Long productID,
                             java.lang.Long quantity)
                      throws palio.PalioException
Ustawia w koszyku dla bieżącej sesji iloć sztuk danego produktu.

Parameters:
productID - ID produktu w wewnętrznej bazie produktów
quantity - iloć produktów do ustawienie w koszyku
Throws:
palio.PalioException

getBasketProduct

public java.lang.Long getBasketProduct(java.lang.Long productID)
                                throws palio.PalioException
Zwraca iloć produktów w koszyku dla bieżącej sesji

Parameters:
productID - ID produktu w wewnętrznej bazie produktów
Returns:
iloć produktów o danym ID
Throws:
palio.PalioException

insertIntoBasket

public void insertIntoBasket(java.lang.Long productID,
                             java.lang.Long quantity)
                      throws palio.PalioException
Dodaje do koszyka dla bieżącej sesji iloć sztuk danego produktu.

Parameters:
productID - ID produktu w wewnętrznej bazie produktów
quantity - iloć produktów do dodania do koszyka
Throws:
palio.PalioException

removeFromBasket

public void removeFromBasket(java.lang.Long productID,
                             java.lang.Long quantity)
                      throws palio.PalioException
Usuwa z koszyka dla bieżącej sesji iloć sztuk danego produktu.

Parameters:
productID - ID produktu w wewnętrznej bazie produktów
quantity - iloć produktów do usunięcia do koszyka
Throws:
palio.PalioException

removeFromBasket

public void removeFromBasket(java.lang.Long productID)
                      throws palio.PalioException
Usuwa z koszyka dla bieżącej sesji jedną sztukę danego produktu.

Parameters:
productID - ID produktu w wewnętrznej bazie produktów
Throws:
palio.PalioException

clearBasket

public void clearBasket()
                 throws palio.PalioException
Czyci cały koszyk dla bieżącej sesji.

Throws:
palio.PalioException

getBasketContent

public java.util.LinkedList getBasketContent()
                                      throws palio.PalioException
Zwraca informacje produktach zawartych koszyku, ich iloci i bieżącej dostępnoci. W zmiennej o nazwie _availability ustawia długoć oczekiwania na produkty. W zmiennej o nazwie _basketPrice ustawia całkowity wartoć koszyka.

Returns:
lista informacji o produktach w koszyku, każdy element listy jest tabelą o kolejnych wartociach: - ID produktu w wewnętrznej tabeli produktów - iloć produktów w koszyku - iloć produktów w magazynie - dostępnoć produktu (w dniach) - cena produktu netto dla bieżącego klienta (domylna cena netto jeżeli nie jest zalogowany) - cena produktu brutto dla bieżącego klienta (domylna cena brutto jeżeli nie jest zalogowany) - nazwa produktu
Throws:
palio.PalioException

isBasketEmpty

public java.lang.Boolean isBasketEmpty()
                                throws palio.PalioException
Sprawdz czy jest pusty koszyk dla bieżącej sesji.

Returns:
TRUE jeżeli klient ma pusty koszyk lub sesja nie jest otwarta
Throws:
palio.PalioException

getPolishDeclination

public java.lang.String getPolishDeclination(java.lang.Long value,
                                             java.lang.Object[] declinations)
Zwraca wyraz w odpowiadającej odmianie w zależnoci od wartoci liczebnika stojącego obok. Np. 1 miesiąc, 4 miesięce, 7 miesięcy.

Parameters:
value - wartoć liczebnika
declinations - tablica przypadków, np. [miesiąc, miesiące, miesięcy] lub [dzień, dni, dni]
Returns:
wyraz w odpowiadającej deklinacji