Todos los modelos que definimos en Mat|r script
definen un nuevo tipo de dato que puede ser instanciado y referenciado desde la declaración de otros tipos de datos como las colecciones Array
y Map
.
Ejemplo:
Model Persona {
String nombre
Double altura
Integer edad
}
Model Aula {
Array <Persona> alumnos
}
//....
Rule instanciarModelos {
Persona p = Persona(nombre: "Juan", altura: 1.80)
Aula a = Aula()
a.alumnos = []
a.alumnos.add(p)
}
CONSTRUCTORES
Model ModelName(atributo1: TipoAtributo1, atributo2: TipoAtributo2, …)
Los constructores se generan con el nombre del modelo a instanciar, seguido de los parametros (opcionales) a inicializar.
METODOS PUBLICOS
Model clone()
Retorna una nueva instancia del modelo, devolviendo una copia fiel de cada uno de sus atributos.
Retorna | |
---|---|
Model | nueva instancia del modelo. |
Bool isEqualTo(Any valor)
Realiza una comparación por valor contra el valor
argumento, que puede ser de cualquier tipo. Retorna true si el valor coincide con la instancia del modelo, y false en caso contrario. La comparación sobre valores de tipos diferentes siempre retorna false.
Argumentos | |
---|---|
valor | valor a comparar. |
Retorna | |
---|---|
Bool | true si el valor coincide con la instancia del modelo,y false en caso contrario. |
Modelos Integrados en Mat|R Script
Los siguientes tipos de datos son modelos ya integrados en el lenguaje, y por lo tanto responden a los mismos métodos.
Location
Se utiliza para la representación de un punto geolocalización. Este tipo de dato puede ser instanciado por su constructor o como retorno de la consulta de los servicios que acceden al gps del dispositivo dentro del namespace location.
CONSTRUCTOR
Location(latitude: Double, longitude: Double)
Argumentos | |
---|---|
latitude | Double: latitud. |
longitude | Double: longitud. |
Marker
Es utilizado por el componente visual MapView
que puede ser parte de una experiencia. Permite configurar la información a mostrar e interacción de un punto de geolocalización en el mapa.
CONSTRUCTOR
Marker(location: Location, title: String, description: String, tintColor: String, showBubble: Bool, leftIcon: String)
Argumentos | |
---|---|
location | Location: geo-localización donde se desea mostrar el marcador. |
title | String: titulo de la burbuja de información del marcador. |
description | String: descripcion de la burbuja de información del marcador. |
tintColor | String: Codigo hexadecimal del color del marcador. |
showBubble | Bool: activa o desactiva burbuja de información sobre el marcador. |
leftIcon | String: url con imagen del marcador. |
OAuth
Este tipo de dato es utilizado junto al servicio broker.oauth.*
que facilita la autorización utilizando el protocolo OAuth2. En este tipo de dato se configuran todos los campos necesarios que intervienen en los pasos del protocolo OAuth2.
CONSTRUCTOR
OAuth(clientID: String, secret: String, authorizationURL: String, tokenURL: String, redirectURL: String, accountName: String)
Argumentos | |
---|---|
clientID | String: ID de cliente. |
secret | String: clave. |
authorizationURL | String: URL de autorización. |
tokenURL | String: URL de recepción de token. |
redirectURL | String: URL de redirección. |
accountName | String: nombre de cuenta. |