📄 ex8_31.txt
字号:
Example 8.31 QueriesImpl Class
// QueryImpl.java
package com.corej2eepatterns.business.impl;
import com.corej2eepatterns.business.hr.Department;
import com.corej2eepatterns.business.hr.Employee;
import com.corej2eepatterns.business.hr.Project;
import com.corej2eepatterns.business.hr.Queries;
import javax.jdo.Query;
import javax.jdo.PersistenceManager;
import java.util.Collection;
import java.util.Iterator;
/**
* @author Craig Russell
*/
public class QueriesImpl implements Queries {
private FactoryImpl factory;
/** Creates a new instance of QueryImpl */
public QueriesImpl(FactoryImpl factory) {
this.factory = factory;
}
public Department getDepartment(String name) {
PersistenceManager pm =
factory.getPersistenceManager();
Query q = pm.newQuery(
DepartmentImpl.class, "this.name == name");
q.declareParameters("String name");
Collection departments = (Collection) q.execute(name);
Iterator iterator = departments.iterator();
return (iterator.hasNext()) ?
(Department) iterator.next() : null;
}
public Employee getEmployee(long id) {
PersistenceManager pm =
factory.getPersistenceManager();
Query q = pm.newQuery(
EmployeeImpl.class, "this.id == id");
q.declareParameters("long id");
Collection employees =
(Collection) q.execute(new Long(id));
Iterator iterator = employees.iterator();
return (iterator.hasNext()) ?
(Employee) iterator.next() : null;
}
public Project getProject(String name) {
PersistenceManager pm =
factory.getPersistenceManager();
Query q = pm.newQuery(
ProjectImpl.class, "this.name == name");
q.declareParameters("String name");
Collection projects = (Collection) q.execute(name);
Iterator iterator = projects.iterator();
return (iterator.hasNext()) ?
(Project) iterator.next() : null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -