1 package org.starobjects.wicket.model.util; 2 3 4 import org.nakedobjects.metamodel.adapter.NakedObject; 5 import org.nakedobjects.metamodel.adapter.oid.Oid; 6 import org.nakedobjects.runtime.context.NakedObjectsContext; 7 import org.nakedobjects.runtime.persistence.adaptermanager.AdapterManager; 8 9 import com.google.common.base.Function; 10 11 public final class Pojos { 12 13 private Pojos(){} 14 15 public static Function<Object, Oid> toOid() { 16 return new Function<Object, Oid>() { 17 public Oid apply(Object pojo) { 18 NakedObject adapter = getAdapterManager().adapterFor(pojo); 19 return adapter.getOid(); 20 } 21 22 }; 23 } 24 25 public static Function<NakedObject, Object> forAdapter() { 26 return new Function<NakedObject, Object>() { 27 28 public Object apply(NakedObject from) { 29 return from.getObject(); 30 } 31 }; 32 } 33 34 private static AdapterManager getAdapterManager() { 35 return NakedObjectsContext.getPersistenceSession().getAdapterManager(); 36 } 37 38 39 }