Você está na página 1de 11

http://www.tutorialspoint.com/apex/apex_strings.

htm
http://regexr.com/
http://www.tutorialspoint.com/apex/apex_strings.htm
http://www.sfdc99.com/2013/05/14/how-to-write-a-test-class/
SELECT Lead_Assignment__c, Id FROM Sales_Rep_Distribution__c
WHERE Lead_Assignment__c != NULL AND Lead_Assignment__c
INCLUDES
('AK','AL','AR','AZ','CA','CO','CT','DC','DE','FL','GA','HI','IA','ID','IL','
IN','KS','KY','LA','MA','MD','ME','MI','MN','MO','MS','MT','NC','ND','
NE','NH','NJ','NM','NV','NY','OH','OK','OR','PA','RI','SC','SD','TN','TX
','UT','VA','VT','WA','WI','WV','WY')

Apex.
Lenguaje propietario, fuertemente tipado, orientado a objetos, ejecutar
sentencias de flujo y control de transacciones en el servidor de Force.com, en
relacin con las llamadas API de Force.com. Sintaxis similar a Java y acta
como procedimientos almacenados de base de datos. Permite aadir Lgica
Empresarial a la mayora de los eventos del sistema (Pulsaciones de botones,
actualizaciones de registros relacionados, y el cdigo VisualForce pages). Apex
puede ser iniciado por las solicitudes de servicio web y de los desencadenantes
de los objetos.

Caractersticas.
Integrado:
Apex ha construido apoyado a las operaciones DML (Insert, Update, Delete) y
manejo de elecciones LMD. Tiene soporte para SOQL en lnea y manejo de
consultas SOSL que devuelve el conjunto de registros sObject.

Sintaxis similar a Java:


Declaracin de variables, sintaxis de bucles y sentencias condicionales.
Integracin de Datos:
Diseado para ejecutar multiplex consultas y sentencias DML en conjunto.
Fuertemente Tipado:
Utiliza referencia directa a los objetos de esquema como sObject y cualquier
referencia no valida falla o si es del tipo de datos incorrecto.
Entorno Multiusuario:
El motor de tiempo de ejecucin est diseado para proteger contra el cdigo
fuera de control (Evitando que se monopolicen los recursos compartidos)
Actualizaciones Automticas:
Se actualiza cuando se libera una nueva versin de SalesForce.
Facilidad para Realizar Pruebas:
Soporte integrado para la creacin de pruebas unitarias y ejecucin, incluyendo
los resultados de las pruebas que indican la cantidad de cdigo que est
cubierto y qu partes de su cdigo podra ser ms eficiente.

Cuando se debe elegir Apex?


Apex se debe utilizar cuando no somos capaces de implementar las complejas
funcionalidades de negocio usando el pre-construido y las funcionalidades
existentes de caja.
1 Crear servicios Web con la integracin de otros sistemas.
2 Crear o configurar servicios de Correo Electrnico.
3 Realizar validaciones complejas a lo largo de varios objetos al mismo
tiempo y aplicar validaciones personalizadas.
4 Crear procesos de negocio complejos que no son compatibles con la
funcionalidad o los flujos de trabajo existentes.
5 Crear lgica transaccional personalizada (Lgica que se produce durante
toda la transaccin, no solo con un nico registro u objeto) como el uso de los
mtodos de base de datos para la actualizacin de los registros.
6 Realizar alguna lgica cuando se modifica un registro o modificar el registro
del objeto relacionado cuando hay algn evento que ha causado que el Trigger
se dispare.

Estructura de trabajo Apex.


Apex se compila por completo en Force.com.

Flujo de acciones.
Hay dos secuencias de acciones:
Accin del Desarrollador: Cuando un desarrollador escribe y guarda el cdigo a
la plataforma, la plataforma del servidor de aplicaciones compila el cdigo por
primera vez en un conjunto de instrucciones que pueden ser entendidos por el
intrprete de ejecucin de Apex y guarda esas instrucciones como metadatos
(Los metadatos son datos altamente estructurados que describen informacin,
describen el contenido, la calidad, la condicin y otras caractersticas de los
datos. Es "Informacin sobre informacin" o "datos sobre los datos").
Terminar accin del Usuario: Cuando un usuario final provoca la ejecucin de
Apex, haciendo Click en un botn o accediendo a una pgina de VisualForce, el
servidor de aplicaciones de la plataforma recupera las instrucciones
compiladas a partir de los metadatos y los enva a travs del intrprete de
ejecucin de Apex antes de devolver el resultado.
El usuario final no ve ninguna diferencia en el tiempo de ejecucin comparado
con las solicitudes de aplicaciones de plataformas estndar.

Incompatibilidades.
1 No puede mostrar los elementos de interfaz de usuario.
2 No se puede cambiar el estndar de funcionabilidad SFDC y, adems, no es
posible evitar la ejecucin de funcionalidad estndar.
3 La creacin de archivos temporales no es posible.
4 La creacin de multiplex hilos no es posible.

Comprensin de la Sintaxis de Apex.


Declaracin de Variables:

Lenguaje fuertemente tipado, en l se deben declarar todas las variables.


Ejemplo, lstAcc se declara con el tipo de datos, lista de cuentas.

Consulta SOQL:
Recupera los datos de la base de datos de SalesForce.
Ejemplo, busca los datos (Registros) del Objeto Account (Cuenta).

Declaracin de Loop/Bucle:
Se utiliza para iterar (Realizar cierta accin varias veces) sobre una lista o
interactuar sobre una pieza de cdigo el nmero de veces especificado.
Ejemplo, el nmero de iteraciones ser el mismo que la cantidad de registros
que tenemos en lstAcc.

Control de Flujo If:


La instruccin If se utiliza para el control de flujo, sobre la base de cierta
condicin, se decide si ejecutar o detener la ejecucin del bloque de cdigo en
particular.
Ejemplo, en el cdigo se muestra a continuacin, se comprueba si la lista est
vaca o contiene registros.

Declaracin DML:
Realiza la Insercin, Actualizacin y Eliminacin de los registros en la base de
datos.
Ejemplo, actualizacin de cuentas con el nuevo valor del campo.

Ambiente Apex.
Se puede desarrollar Apex en Sandbox o en la licencia para desarrolladores de
SalesForce.
Sandbox, es una copia de la organizacin, se puede escribir cdigo y probarlo
sin afectar Produccin.

Herramientas de desarrollo del cdigo Apex.


1 Force.com, consola de desarrollo.
Entorno de desarrollo integrado con una coleccin de herramientas que puede
utilizar para crear, depurar y probar las aplicaciones en su organizacin de
SalesForce.

Escribir y compilar cdigo: Cuando se guarda un disparador o clase, el cdigo se


compila automticamente. Se informar cualquier error de compilacin.
Depuracin: Ver los registros de depuracin y puestos de control en conjunto,
ayudando en la depuracin.
Pruebas: Ejecucin de pruebas de clases, de pruebas especficas, o todas las
clases de la organizacin, y se pueden ver los resultados. Tambin, se puede
inspeccionar la cobertura de cdigo.
Comprobar el funcionamiento: Inspeccin de los registros de depuracin para
localizar los cuellos de botella de rendimiento.
Consultas SOQL: Consultar los datos de su organizacin y ver los resultados
utilizando el editor de consultas.
Cdigo de colores y autocompletar: Se utiliza un esquema de colores para
facilitar la legibilidad de los elementos de cdigo y proporciona la terminacin
automtica de nombres de clase y mtodos.

2 Force.com, IDE.
3 Editor de cdigo en la interfaz de usuario de SalesForce.

Tipos de Datos.
Cada variable en Apex se declara con el tipo de dato especifico (Fuertemente
tipado).
Todas las variables de Apex se inicializan a Null, se debe asegurar que se le
asignan valores apropiados.
Apex es compatible con los siguientes tipos de datos:

Primitive (Integer, Double, Long, Date, Datetime, String, ID, y Boolean).


Colecciones (List, Sets y Maps).
sObject (Account, Contact, or MyCustomObject__c).
Enums.
Classes, Objects and Interfaces.

Primitive Data Type (Tipos de Datos Primitivos).


Integer.
Cualquier numero de 32 bits sin punto decimal.
Ejemplo, declarar una variable que almacene la cantidad de barriles que
necesitan ser enviado al comprador de la planta de procesamiento qumico.

System.debug () es la funcin que imprime el valor de la variable de modo que


podramos usar esto para depurar o para conocer cul es el valor de la variable
alberga actualmente.

Boolean.
Puede ser, verdadero, falso o nulo. Este tipo de variables se pueden utilizar
como bandera en la programacin para identificar la condicin de conjunto
particular o no fijado.
Ejemplo, establecer shipmentDispatched como verdadero.

Date.
Puede almacenar la fecha.

Long.
Almacena un nmero de 64 bits sin el punto decimal. Utilizar este tipo de datos
cuando se necesita almacenar un valor ms amplio que el proporcionado por
Integer.

Object.
Podemos referirnos a esto como cualquier tipo de dato que se apoye en Apex.
Ejemplo, la variable de Clase puede ser objeto de esa clase, y el tipo sObject es
tambin un objeto y tipo de objeto especfico de manera similar como Account
es tambin un objeto.

Se puede crear un objeto de la clase predefinido.

Este es el objeto de la clase que se utiliza como variable de clase.

String.
Conjunto de caracteres entre comillas simples (), no tiene lmite de cantidad
de caracteres.

Time.
Se utiliza para almacenar el tiempo en particular. Esta variable siempre se
declara con el mtodo esttico del sistema.
Blob.
Es una coleccin de datos binarios que se almacena como objeto. Es usado
cuando queremos almacenar un archivo adjunto en SalesForce en una variable.
Este tipo de dato convierte los archivos adjuntos en un solo objeto. Cuando
necesitamos convertir un Blob en un String, entonces, podemos utilizar
mtodos toString y valueOf para convertirlo.
sObject.

Similar a una tabla en SQL y contiene campos que son similares a columnas en
SQL. Hay dos tipos Estndar y Custom.

Enum.
Enum es un tipo abstracto de datos que almacenan un valor de un conjunto
finito de identificadores especificados. Se podra utilizar la palabra clave Enum
para definir una enumeracin. Enum se puede utilizar como cualquier otro tipo
de dato en SalesForce.
Ejemplo, declarar los posibles nombres de algo.

Variables de Apex.
String productName = 'HCL';
Integer i=0;
Set<string> setOfProducts = new Set<string>();

Map<id, string> mapOfProductIdToName = new Map<id, string>();

Tenga en cuenta que todas las variables son asignadas con el valor nulo.

Declaracin de Variables.
Se pueden declarar variables como String e Integer, de la siguiente manera.
String strName = 'My String';//Declaracin de Variable String
Integer myInteger = 1;//Declaracin de Variable Integer
Boolean mtBoolean = true;//Declaracin de Variable Boolean

Las Variables de Apex NO son sensibles a maysculas.


Integer m = 100;
for (Integer i = 0; i<10; i++) {
integer m=1; //Esta declaracin generara un error porque se repite la variable m
System.debug(Este cdigo traer un error);
}

Alcance de las Variables.


Una variable de Apex es validad desde el punto desde donde se declara en el
cdigo. Por lo tanto, no es posible redefinir el valor de la variable en el bloque
de cdigo. Si se declara una variable en un mtodo entonces, el alcance se
limita a ese mtodo. Sin embargo, las variables de clase se pueden acceder a
travs de la clase.
//Declarar la variable Products
List<string> Products = new List<strings>();
Products.add('HCL');
//No es posible declarar esta variable en este bloque de cdigo y sub-bloque de cdigo
de Nuevo. Si lo hace el Sistema lanzara un error, existe una variable previa a su
alcance en el mismo bloque de cdigo.
List<string> Products = new List<strings>();

Apex Strings.

String en Apex, como en cualquier otro lenguaje de programacin, es cualquier


conjunto de caracteres sin lmite de caracteres.
String companyName = 'Abc International';
System.debug('Value companyName variable' +companyName);

Mtodos de la clase String en SalesForce (Algunos).


contains.
Este mtodo devolver true si la cadena dada contiene la sub-cadena
mencionada.
Sintaxis:
public Boolean contains (String substring)

Ejemplo:
String myProductName1 = 'HCL';
String myProductName2 = 'NAHCL';
Boolean result = myProductName2.contains(myProductName1);
System.debug('O/p will be true as it contains the String and Output is: '+result);

Equals.
Este mtodo devolver verdadero si el primero y segundo String tienen la
misma secuencia binaria de caracteres y que no son nulos. Se podra comparar
el registro de Id de SFDC usando este mtodo. Este mtodo es sensible a
maysculas.
Sintaxis:
public Boolean equals (Object string)

Ejemplo:
String myString1 = 'MyString';
String myString2 = 'MyString';
Boolean result = myString2.equals(myString1);
System.debug('Value of Result will be true as they are same and Result is:'+result);

equalsIgnoreCase.
Este mtodo devolver verdadero si stringtoCompare tiene la misma secuencia
de caracteres en los String dados. Sin embargo, este mtodo no distingue entre
maysculas y minsculas.
Sintaxis:
public Boolean equalsIgnoreCase(String stringtoCompare)

Ejemplo:
A continuacin, el cdigo devolver true si los caracteres del String son los
mismos, haciendo caso omiso de la sensibilidad a las maysculas.
String myString1 = 'MySTRING';
String myString2 = 'MyString';
Boolean result = myString2.equalsIgnoreCase(myString1);
System.debug('Value of Result will be true as they are same and Result is:'+result);

remove.
Est

Você também pode gostar