Domini
Un dominio pone una restrizione sugli elementi tipo nel BOM. È possibile impostare un dominio su classi, tipi di attributo, tipi restituiti dal metodo e argomenti.
I principali settori includono:
Domini statici, comprendenti tipi di dominio Letterali, Riferimenti statici, Limitati, Raccolta e Altri.
Domini dinamici, con valori memorizzati in un file Excel.
Domini enumerati, comprendenti tipi di dominio letterali, riferimenti statici e dinamici.
Domini complessi, comprendenti i tipi di dominio Bounded, Collection e Other.
Non tutti i tipi di dominio BOM sono applicati nelle regole BAL o in altre regole aziendali. Le regole aziendali utilizzano solo domini enumerati (letterali, riferimenti statici o dinamici). Viene eseguito un controllo semantico per verificare che la regola di business non utilizzi un valore al di fuori del proprio dominio e l'editor Intellirule suggerisce valori dai domini enumerati. Tuttavia, il controllo semantico effettuato a livello di regole aziendali è rudimentale e non rileva modelli complessi di utilizzo errato che coinvolgono operatori diversi da is o is
not. Altri tipi di dominio, come i domini limitati, non vengono applicati a livello di regole aziendali.
È possibile utilizzare i domini quando si lavora con le regole aziendali:
Modifica delle regole aziendali: il completamento del codice nell'Intellirule Editor utilizza domini enumerati per proporre impostazioni valide.
Verifica delle regole aziendali: si utilizzano domini enumerati per segnalare errori e avvisi che aiutano a convalidare i valori specificati.
Analisi delle regole: si utilizzano tutti i tipi di dominio nella distinta base per verificare la coerenza della semantica delle regole aziendali.
Se XOM ha un insieme di publicattributi, staticfinal , e digitati nella classe dichiarante, essi vengono automaticamente considerati come un'enumerazione di riferimenti statici della classe nella BOM.
Se l'XOM contiene membri di tipo array, questi vengono automaticamente considerati come una raccolta della classe nella BOM.
Limitato
Un dominio limitato specifica un intervallo tra due valori limite, come ad esempio [0, 120].
Nell'editor della distinta base di progettazione, quando si definisce un dominio limitato su un attributo intero, è possibile specificare il * carattere (asterisco) come limite inferiore o superiore del dominio. Quando si specifica *, il valore associato viene sostituito nel file .bom corrispondente con-2147483648per il limite inferiore, oppure2147483647per il limite superiore. Questi valori corrispondono rispettivamente a Integer.MIN_VALUE e Integer.MAX_VALUE.
I domini limitati non vengono applicati a livello di regole aziendali. È possibile creare un dominio limitato su un tipo primitivo numerico.
Raccolta
Un dominio di raccolta specifica la cardinalità e il tipo degli elementi della raccolta, ad esempio. 0,* class Customer
Se si dispone di membri di tipo java.util.Collection, impostare un dominio di raccolta su questi membri affinché vengano automaticamente considerati come una raccolta nelle regole aziendali. È inoltre possibile creare, aggiungere e rimuovere metodi per gli elementi nel dominio della raccolta utilizzando l'Editor BOM.
Per ulteriori informazioni sulle collezioni, consultare Collezioni.
È possibile creare un dominio di raccolta su una raccolta o un array.
Dinamico
È possibile popolare dinamicamente un dominio nella distinta base da un'origine dati, quindi sincronizzare l'origine dati e il dominio.
Un dominio dinamico è un dominio enumerato con valori provenienti da un file Excel.
È possibile creare un dominio dinamico solo su una classe nell'editor delle classi BOM, ma non su una sottoclasse Collection.
Valori letterali
Un dominio impostato come enumerazione di letterali specifica un elenco di valori, ad esempio. {1, 2, 3}
È possibile creare un dominio letterale su un tipo primitivo o una stringa.
Riferimenti statici
Un dominio impostato come enumerazione di riferimenti statici specifica un elenco di riferimenti a costanti, ad esempio. {static GroupA, static GroupB, static GroupC}
È possibile definire i tipi di attributi e i tipi di ritorno dei metodi e gli argomenti come segue:
Se si dispone di un attributo di tipo A, è possibile definire un dominio di riferimenti statici su di esso utilizzando gli attributi statici della classe A (modello di enumerazione Java™ classico).
Se si dispone di un attributo di tipo primitivo, è possibile definire un dominio letterale su di esso.
È possibile creare un dominio di riferimento statico su una classe, ma non su una sottoclasse Collection.
Altro
Gli "altri" tipi di dominio sono stati introdotti per supportare la maggior parte dei domini provenienti dal binding XML. In uno schema XML è possibile definire domini di pattern (anche per i numeri) e contemporaneamente un'enumerazione. È inoltre possibile definire domini di pattern o intersezioni di domini nel modello di oggetti di business.
È possibile definire altri tipi di domini utilizzando la sintassi delle espressioni regolari. Ad esempio, è possibile definire un modello per le stringhe come segue:
"a*n"
È possibile definire un'intersezione di domini come segue:
({1, 3, 5, 7, 9}, [0,6])
Altri domini non vengono applicati a livello di regole aziendali. È possibile impostare questo tipo di dominio su un array utilizzando la seguente sintassi: '( { (String)"a", (String)"b"} )'.