logo Ujorm


Hledáte rychlou XML perzistenci?
Potřebujete předávat v kódu odkaz na metody JavaBean?
Tvoříte tenkého klienta?
Použijte Ujorm!

UjoUml.png Ujorm je Java knihovna, která poskytuje netradiční architekturu objektů odlišných od JavaBeans. Původní nápad vznikl jako hříčka s generickými datovými typy Java 5.0, postupem času se však ukázalo, že architektura má několik zajímavých vlastností. Současná verze frameworku nabízí: UJO je zkratka pro Unified Java Object a označuje takový objekt, který implementuje rozhraní Ujo. Objekt UJO si lze představit například jako mapu (objekt mapující hodnoty ke klíčům), ke které se přistupuje pomocí metod klíče. Klíč je zde tvořen implementací rozhraní Key obsahující (mimo jiné) dvě typově bezpečné metody: Na rozdíl od metod objektu JavaBean lze tyto klíče posílat jednoduše dalším objektům, příkladem využití může být seznam zobrazovaných sloupců tabulky poslaný do datového modelu typu TableModel, nebo odkazy k metodám beanu na JSP stránce. Inspirací pro rozvoj tohoto projektu byla architektura perzistentních objektů v projektu Cayenne (nástroj pro řešení ORM)
 
Více informací ...

Příklad použití:

Poznámka: česká verze tohoto dokumentu už nepopisuje nové vlastnosti UJO Framewokru implementované od verze 0.80. Pokud vás zajímají i tyto nové vlastnosti, přepněte se, prosím, na anglickou verzi.

Jak napíšeme třídu objektu UJO? Nejrychlejší cesta je využít nějakou abstraktní implementaci UJO z tohoto projektu, pomocí pár řádů kódu však můžeme vyrobit i implementaci vlastní. Příkladem může být implementace třídy Person, která obsahuje tři atributy a jednu metodu pro změnu hotovosti.
import org.ujorm.core.*;
public class Person extends AbstractUjo {
   private static final KeyFactory fa = newFactory(Person.class);

   public static final Key<Person,String > NAME  = fa.newKey();
   public static final Key<Person,Boolean> MALE  = fa.newKey();
   public static final Key<Person,Date   > BIRTH = fa.newKey();

   @Override
   public KeyList<?> readKeys() {
       return fa.getKeys();
   }
}
Pokračování ...

Referenční projekty:

Referenční implementací je Swingový projekt JWorkSheet, který vytvořil autor Ujormu a který je zveřejněn pod otevřenou licencí na domovské stránce http://jworksheet.ponec.net/. Aplikace jWorkSheet slouží k měření vašeho času stráveného na projektech.
Na zdrojových kódech lze studovat využití perzistence UJO objektů stejně tak jako snadné propojení kolekce UJO objektů na grafickou komponentou JTable. K dispozici je API projektu ve formátu JavaDoc.

Vlastnosti aplikace JWorkSheet:
Projekt JWorkSheet je napsaný v Java 5.0, vývoj byl realizován v NetBeans IDE .

Licence:

Kód byl uvolněn pod licencí Apache License, Version 2.0.

Copyright 2007-2014 Pavel Ponec Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Stahuj:

Zdrojové a binární kódy je možné stáhnout na SourceForge zde:

O autorovi:


PPone(c) 2007-2011

Valid XHTML 1.0 Strict