/* * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ package com.mysema.rdfbean.domains; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import com.mysema.rdfbean.annotations.ClassMapping; import com.mysema.rdfbean.annotations.Id; import com.mysema.rdfbean.annotations.Predicate; import com.mysema.rdfbean.model.ID; public interface CompanyDepartmentEmployeeDomain { @ClassMapping public class Company { @Id public ID id; @Predicate(ln = "company", inv = true) public List<Department> departments = new ArrayList<Department>(); @Predicate(ln = "company", inv = true) public Department department; public ID getId() { return id; } public List<Department> getDepartments() { return departments; } public Department getDepartment() { return department; } } @ClassMapping public class Department { @Id public ID id; @Predicate public Company company; @Predicate(ln = "department", inv = true) public Set<Employee> employees = new HashSet<Employee>(); public ID getId() { return id; } public Company getCompany() { return company; } public Set<Employee> getEmployees() { return employees; } } @ClassMapping public class Employee { @Id public ID id; @Predicate public Department department; public ID getId() { return id; } public Department getDepartment() { return department; } } }