content: package com.orm.androrm.impl;
  
  import java.util.List;
  
  import android.content.Context;
  
  import com.orm.androrm.Model;
  import com.orm.androrm.QuerySet;
  import com.orm.androrm.field.CharField;
  import com.orm.androrm.field.ForeignKeyField;
  import com.orm.androrm.field.ManyToManyField;
  
  public class Supplier extends Model {
  
  	protected CharField mName;
  	protected ForeignKeyField<Brand> mBrand;
  	protected ManyToManyField<Supplier, Product> mProducts;
  	protected ManyToManyField<Supplier, Branch> mBranches;
  	
  	public static final QuerySet<Supplier> objects(Context context) {
  		return objects(context, Supplier.class);
  	}
  	
  	public Supplier() {
  		super();
  		
  		mName = new CharField(50);
  		mProducts = new ManyToManyField<Supplier, Product>(Supplier.class, Product.class);
  		mBranches = new ManyToManyField<Supplier, Branch>(Supplier.class, Branch.class);
  		mBrand = new ForeignKeyField<Brand>(Brand.class);
  		mBrand.doNotCascade();
  	}
  	
  	public void setName(String name) {
  		mName.set(name);
  	}
  	
  	public QuerySet<Product> getProducts(Context context) {
  		return mProducts.get(context, this);
  	}
  	
  	public void addProduct(Product p) {
  		mProducts.add(p);
  	}
  	
  	public void addProducts(List<Product> products) {
  		mProducts.addAll(products);
  	}
  	
  	public int productCount(Context context) {
  		return mProducts.get(context, this).count();
  	}
  	
  	public void addBranch(Branch b) {
  		mBranches.add(b);
  	}
  	
  	public void setBrand(Brand brand) {
  		mBrand.set(brand);
  	}
  	
  	public Brand getBrand(Context context) {
  		return mBrand.get(context);
  	}
  }
  