Package org.apache.fop.events.model

Examples of org.apache.fop.events.model.EventProducerModel


     * @throws EventConventionException if the event producer conventions are violated
     * @throws ClassNotFoundException if a required class cannot be found
     */
    protected void processEventProducerInterface(JavaClass clazz)
                throws EventConventionException, ClassNotFoundException {
        EventProducerModel prodMeta = new EventProducerModel(clazz.getFullyQualifiedName());
        JavaMethod[] methods = clazz.getMethods(true);
        for (int i = 0, c = methods.length; i < c; i++) {
            JavaMethod method = methods[i];
            EventMethodModel methodMeta = createMethodModel(method);
            prodMeta.addMethod(methodMeta);
        }
        EventModel model = new EventModel();
        model.addProducer(prodMeta);
        models.add(model);
    }
View Full Code Here


    private static final String MERGETRANSLATION = "merge-translation.xsl";

    private File getParentDir(EventModel model) {
        Iterator iter = model.getProducers();
        assert iter.hasNext();
        EventProducerModel producer = (EventProducerModel) iter.next();
        assert !iter.hasNext();
        String interfaceName = producer.getInterfaceName();
        int startLocalName = interfaceName.lastIndexOf(".");
        if (startLocalName < 0) {
            return destDir;
        } else {
            String dirname = interfaceName.substring(0, startLocalName);
View Full Code Here

    }

    private static synchronized EventProducerModel getEventProducerModel(Class clazz) {
        for (int i = 0, c = eventModels.size(); i < c; i++) {
            EventModel eventModel = (EventModel)eventModels.get(i);
            EventProducerModel producerModel = eventModel.getProducer(clazz);
            if (producerModel != null) {
                return producerModel;
            }
        }
        EventModel model = loadModel(clazz);
View Full Code Here

     * conversion of the method call into the broadcasting of an event instance.
     * @param clazz a descendant interface of EventProducer
     * @return the EventProducer instance
     */
    protected EventProducer createProxyFor(Class clazz) {
        final EventProducerModel producerModel = getEventProducerModel(clazz);
        if (producerModel == null) {
            throw new IllegalStateException("Event model doesn't contain the definition for "
                    + clazz.getName());
        }
        return (EventProducer)Proxy.newProxyInstance(clazz.getClassLoader(),
                new Class[] {clazz},
                new InvocationHandler() {
                    public Object invoke(Object proxy, Method method, Object[] args)
                            throws Throwable {
                        String methodName = method.getName();
                        EventMethodModel methodModel = producerModel.getMethod(methodName);
                        String eventID = producerModel.getInterfaceName() + "." + methodName;
                        if (methodModel == null) {
                            throw new IllegalStateException(
                                    "Event model isn't consistent"
                                    + " with the EventProducer interface. Please rebuild FOP!"
                                    + " Affected method: "
View Full Code Here

     * @throws EventConventionException if the event producer conventions are violated
     * @throws ClassNotFoundException if a required class cannot be found
     */
    protected void processEventProducerInterface(JavaClass clazz)
                throws EventConventionException, ClassNotFoundException {
        EventProducerModel prodMeta = new EventProducerModel(clazz.getFullyQualifiedName());
        JavaMethod[] methods = clazz.getMethods(true);
        for (int i = 0, c = methods.length; i < c; i++) {
            JavaMethod method = methods[i];
            EventMethodModel methodMeta = createMethodModel(method);
            prodMeta.addMethod(methodMeta);
        }
        EventModel model = new EventModel();
        model.addProducer(prodMeta);
        models.add(model);
    }
View Full Code Here

    private static final String MERGETRANSLATION = "merge-translation.xsl";

    private File getParentDir(EventModel model) {
        Iterator iter = model.getProducers();
        assert iter.hasNext();
        EventProducerModel producer = (EventProducerModel) iter.next();
        assert !iter.hasNext();
        String interfaceName = producer.getInterfaceName();
        int startLocalName = interfaceName.lastIndexOf(".");
        if (startLocalName < 0) {
            return destDir;
        } else {
            String dirname = interfaceName.substring(0, startLocalName);
View Full Code Here

TOP

Related Classes of org.apache.fop.events.model.EventProducerModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.