vai al contenuto principale

Che cos'è un attributo?

Un attributo definisce le caratteristiche e le proprietà che accomunano tutte le istanze di una classe. Il valore che un attributo assume varia tra una istanza e un'altra della classe su cui è definito, e il suo valore caratterizza l'istanza stessa.

Ogni attributo è caratterizzato da un identificatore e dal tipo di dato.

L’identificatore deve avere un nome univoco all’interno della classe e non può avere spazi: il Designer sostituisce automaticamente la digitazione di ogni spazio con il carattere _.

Un attributo

All’interno della classe Employee mostrata in figura vi è un unico attributo: name è l’identificatore e string è il tipo di dato. Il warning compare perché non è ancora stato definito un Object title.

Il tipo di dato determina che genere di informazione è memorizzata attraverso l’attributo. Sono supportati i seguenti tipi di dato:

  • String: una stringa di caratteri;
  • Text: un testo;
  • Integer: un dato numerico che rappresenta un numero intero;
  • Real: un dato numerico che rappresenta un numero decimale;
  • Boolean: valore di verità (true o false);
  • Date: una data;
  • Time: un orario;
  • Datetime: concatenazione di una data e un orario;
  • Serial: un numero progressivo che assume un valore univoco per ogni oggetto della classe;
  • File: riferimento a un file memorizzato nel server.

Tipologie di attributo #

Sono supportati i seguenti tipi di attributo:

  • attributo nativo: informazione memorizzata direttamente nella tabella dell’oggetto di una classe. È editabile, ed è possibile restringerne il dominio (l’insieme dei valori che l’attributo può assumere);
  • attributo derivato: attributo il cui valore è calcolato a partire dal valore di altri attributi;
  • attributo di piattaforma: contiene metadati relativi agli oggetti della classe ed è gestito automaticamente da Livebase;
  • attributo predefinito: attributo definito unicamente sulla classe __User, gestito dalla piattaforma.

Object title #

L’Object title è il nome con cui viene identificato l’oggetto di una classe che si sta esaminando nell’applicazione; questo nome è rappresentato dal valore di un singolo attributo.

Impostare un attributo come Object title #

Seleziona l’attributo e fai click destro per aprire l’Attribute menu; dal menu a tendina spunta l’opzione Object title.

Definire un Object title

Creare un Object title composto da più attributi #

È possibile impostare come Object title un attributo derivato di tipo math che corrisponde alla concatenazione di più attributi. Questa concatenazione è una stringa definita nel Math expression editor attraverso un’espressione, che di default è concat(s1," ",s2,...), dove s1 e s2 sono i nomi degli gli attributi coinvolti e " " indica uno spazio che li separa. Il nome dell’oggetto mostrato nell’applicazione viene così calcolato concatenando i valori di tutti gli attributi che compongono l’Object title.

Esempio: Object title complesso

Prendiamo ad esempio la classe Client mostrata in figura; nella lista sono presenti tre attributi: il nome (first_name), il cognome (last_name) e l’indirizzo (address). Volendo impostare come nome dell’oggetto della classe il nome completo dei clienti, è possibile definire come Object title un derivato che calcoli la concatenazione degli attributi first_name e last_name (senza includere dunque address).

Tieni premuto il tasto Ctrl e seleziona contemporaneamente gli attributi che devono far parte dell’Object title; clicca su uno di essi per aprire l’Attribute menu e seleziona Create object title. Controlla l’espressione che viene mostrata nel Math expression editor: se l’espressione è valida nel pannello compare la scritta Expression validated as STRING. Cliccando Ok un nuovo attributo, /title, viene aggiunto alla lista. Successivamente puoi rinominare l’Object title così creato come qualunque altro attributo.

Definire un Object title complesso

L’espressione risultante nell’editor sarà dunque concat(first_name," ",last_name).

Espressione per un Object title

Di default un Object title definito su più attributi ha il nome /title. Una volta creato, è possibile rinominare /title in /full_name.

Object title complesso