OGNL
Parte de Apache Commons
Información general
Tipo de programa Lenguaje de expresión (EL)
Desarrollador OGNL Technology
Licencia licencia BSD
Idiomas inglés
Información técnica
Programado en Java, C#
Plataformas admitidas Java Virtual Machine, .NET
Versiones
Última versión estable 3.0.8 (24 de septiembre de 2013 (12 años, 8 meses y 25 días))
Enlaces

Object-Graph Navigation Language (OGNL), creado por OGNL Technology, es un Lenguaje de Expresiones de código abierto para Java, el cual, mediante el uso de expresiones más simples que el amplio espectro que soporta Java, permite obtener y establecer propiedades (a través de métodos ya definidos getProperty y setProperty similares a los presentes en todos los JavaBeans) y la ejecución de métodos de clases Java.

Aplicaciones

editar

Algunas de las ventajas de OGNL sobre Java son:

  • Las transformaciones entre tipos son más sencillas.
  • Es un lenguaje de fuente de datos útil para mapear columnas de una tabla con su TableModel en Swing.
  • Es un sustituto del lenguaje de obtención de propiedades usado en el paquete BeanUtils.

Cadenas (chains)

editar

Son la unidad fundamental de navegación. [Pueden contener:

  • Nombres de propiedades.
  encabezado.texto
  • Llamadas a métodos.
  hashCode()   
  • Índices de Array.
  listeners[0]

Ejemplo:

  name.toCharArray()[0].numericValue.toString()

Se pasa a String la propiedad "name" de la que se toma el carácter de la posición 0 y se obtiene su valor numérico que se pasa a String nuevamente.

Proyectos que usan OGNL

editar

Enlaces externos

editar

📚 Artikel Terkait di Wikipedia

Reescritura de grafos

Daniel; Vico, Francisco J.; Dassow, Jürgen (1 de octubre de 2011). «Graph grammars with string-regulated rewriting». Theoretical Computer Science 412 (43): 6101-6111

Notación Reddick

Basic, la notación se ha adaptado a la siguiente: Object Tag Example Chart (graph) cht chtSales Check box chk chkReadOnly Combo box cbo cboIndustry Command

Ciclo euleriano

<iostream> #include <string.h> #include <algorithm> #include <list> using namespace std; // Clase para representar el grafo class Graph { private: int V;

Bibliotecas Boost

"inline" de C++, por Joel de Guzmán, Hartmut Kaiser, Nuffer Dan y su equipo. string_algo: Biblioteca de algoritmos de cadena, por Pavol Droba. tokenizer: Separación

Algoritmo de Prim

la estructura de datos Graph (WeightedGraph). --No existe como tal en el lenguaje. import DataStructures.Graph.WeightedGraph import Data.List(delete

TI-85

vendido, junto con el software apropiado, otro cable conocido como el TI-Graph Link para conectar la calculadora con un computador personal. Estos cables

Generador aleatorio de contraseñas

qw(get_strong); while(length($out) < 15) { my $a = get_strong(1); $a =~ s/[^[:graph:]]//g; $out .= $a; } print $out; El lenguaje Python incluye una clase SystemRandom

Spectravideo SVI-728

Out/Delete). Barra espaciadora. A cada lado de esta, 2 teclas especiales: Graph (izquierda) y Code (derecha). En combinación con las teclas alfanuméricas