Uso de una colección extranjera

Mi entidad contiene el siguiente atributo ForeignCollection privado:

 @ForeignCollectionField private ForeignCollection<Order> orderCollection; private List<Order> orderList; 

¿Cuál es la mejor manera o manera habitual de evitar que un llamador use una ForeignCollection ? ¿Hay alguna forma ordenada de devolver los datos de las Collections a una persona que llama?

¿Cómo se ve el siguiente método? Permite a una persona que llama acceder a los datos a través de una List . ¿Recomendaría hacerlo de esta manera?

 public List<Order> getOrders() { if (orderList == null) { orderList = new ArrayList<Order>(); for (Order order : orderCollection) { orderList.add(order); } } return orderList; } 

Si está bien cambiar la firma a Collection lugar de List , puede intentar usar Collections.unmodifiableCollection () .

 public Collection<Order> getOrders() { return Collections.unmodifiableCollection(orderCollection); } 

De lo contrario, su enfoque de utilizar una variable de miembro perezoso está bien (siempre que no necesite sincronización). Además, tenga en cuenta que sólo puede utilizar el constructor de ArrayList para copiar los valores de la colección de origen:

 orderList = new ArrayList<Order>(orderCollection); 
  • Proguard con la colección parametrizada orrmlite
  • Consulta de id necesita parámetro entero
  • Integración ormlite-4.9 con sqlcipher-2.08
  • Android - ORMlite vs ActiveAndroid diferencias?
  • Android y OrmLite: falla de OnUpgrade
  • Cómo insertar datos masivos en la base de datos sqlite de android utilizando ormlite eficientemente
  • Orden insensible al caso con ormlite y sqlite en android
  • Usando limit () y offset () en QueryBuilder (ANDROID, ORMLITE)
  • Configuración de ejecución de Android Studio para la generación de configuración de ORMLite
  • Calendario .YEAR, .MONTH, DAY_OF_MONTH diferente de date.getDay () etc?
  • Importar android.os.CancellationSignal no se puede resolver ORMLite en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.