aboutsummaryrefslogtreecommitdiffstats
path: root/ECOMP-XACML/src/main/java/org/openecomp/policy/xacml/api/pap/ECOMPPapEngineFactory.java
blob: d34d033482b66d80a1809af1215e50f292f962b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package org.openecomp.policy.xacml.api.pap;

import java.util.Properties;

import com.att.research.xacml.api.pap.PAPException;
import com.att.research.xacml.util.FactoryException;
import com.att.research.xacml.util.FactoryFinder;

public abstract class ECOMPPapEngineFactory{
	
	/**
	 * Creates a new <code>PAPEngineFactory</code> instance using the given class name and the default thread class loader.
	 * 
	 * @param factoryClassName the <code>String</code> name of the factory class to instantiate
	 * @return an instance of an object that extends <code>ECOMPPapEngineFactory</code> to use in creating <code>PAPPolicyEngine</code> objects.
	 */
	public static ECOMPPapEngineFactory newInstance(String factoryClassName) throws FactoryException {
		return FactoryFinder.newInstance(factoryClassName, ECOMPPapEngineFactory.class, null, true);
	}

	/**
	 * Creates a new <code>PAPPolicyEngine</code> based on the configured <code>ECOMPPapEngineFactory</code>.
	 * 
	 * @return a new <code>PAPPolicyEngine</code>
	 * @throws PAPException 
	 */
	public abstract PAPPolicyEngine newEngine() throws FactoryException, PAPException;

	/**
	 * Creates a new <code>PAPPolicyEngine</code> based on the configured <code>ECOMPPapEngineFactory</code>.
	 * 
	 * @return a new <code>PAPPolicyEngine</code>
	 * @throws PAPException 
	 */
	public abstract PAPPolicyEngine newEngine(Properties properties) throws FactoryException, PAPException;


}