Fromserver - madbob/GASdotto GitHub Wiki
Decisamente la classe FromServer (implementata sia in Java per il client, che in PHP per il server) e' la piu' usata all'interno di GASdotto. Da questa derivano tutte le altre classi che rappresentano gli oggetti operativi dell'applicazione (fornitori, prodotti, ordini...), nonche' gran parte dei widgets grafici, ed ha alcune diramazioni piu' specifiche.
Ogni sotto-classe definisce gli attributi di cui si compone (il nome ed il numero di telefono per i fornitori, il prezzo e la categoria per i prodotti e via dicendo) ed i rispettivi datatype (stringhe, numeri, date...), e FromServer provvede a gestire in modo trasparente la serializzazione e la deserializzazione dei dati durante le comunicazione client/server. In piu', l'implementazione server sfrutta la mappatura "uno a uno" degli attributi sul database per leggere e scrivere le informazioni permanentemente nella base dati.
Attualmente, le classi (almeno sul versante client - vedi sotto) elementari sono divise secondo la seguente gerarchia:
- FromServer: classe essenziale da cui derivano le altre
- ACL: descrive i privilegi di accesso ai contenuti in caso di multi-GAS
- BankMovement: un movimento monetario, tipo il pagamento di un ordine o della quota di iscrizione
- Category: una categoria assegnabile ai prodotti
- CustomFile: un file, solitamente assegnato come approfondimento per un fornitore (ma potenzialmente usabile anche altrove)
- GAS: uno dei GAS (o l'unico GAS, se il multi-GAS e' disabilitato) gestiti dall'istanza
- Measure: una delle unita' di misura assegnabile ai prodotti
- Notification: notifica utente, di quelle che appaiono nel pannello di homepage
- Order: un ordine presso il fornitore
- OrderUserFriend: un ordine per un amico di un utente, dipende sempre da un OrderUser
- OrderUser: un ordine sottoposto da un utente
- Probe: usata solo in fase di installazione, riporta dettagli in merito al server ed i parametri di configurazione. Non viene mappata sul database
- Product: un prodotto di un fornitore
- ProductUser: un prodotto contemplato all'interno di un OrderUser
- ProductUserVariantComponent: il valore assunto da una variante all'interno di un prodotto ordinato dall'utente
- ProductUserVariant: una variante all'interno di un prodotto ordinato dall'utente
- ProductVariant: una variante per un prodotto del fornitore
- ProductVariantValue: un valore assunto da una variante per un prodotto del fornitore
- ShippingPlace: un luogo di consegna
- Supplier: un fornitore
- SystemConf: generata dal server quando richiesto, riporta dettagli generali sull'istanza attuale. Non viene mappata sul server
- User: un utente
- FromServerAggregate: classe astratta usata per gli aggregati di piu' elementi
- OrderAggregate: un aggregato di ordini
- FromServerAggregateVirtual: classe astratta usata per gli aggregati di piu' elementi che non sono mappati sul server e vengono dinamicamente gestiti sul client
- OrderUserAggregate: l'aggregato degli ordini da parte di un utente facenti capo agli ordini contemplati in un OrderAggregate
- OrderUserFriendAggregate: l'aggregato degli ordini per gli amici di un utente facenti capo ad uno degli ordini contemplati in un OrderUserAggregate