blob: 09a390ffff57d2dd4a74b0656d04c1c3499fd3b0 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.ode.daohib.bpel.hobj;
import java.util.HashSet;
import java.util.Set;
/**
* Hibernate table representing a BPEL correlator, or message-router. This class
* maintains a set of <em>selectors</em> and <em>messages</em>. The
* selector set is a database representation of the pick/receive activities that
* need to be matched up to a message, while the message set is the database
* representation of the messages that have been received that need to be
* matched up to a pcik/receive.
*
* @hibernate.class table="BPEL_CORRELATOR"
* @hibernate.query name="DELETE_CORRELATORS_BY_PROCESS" query="delete from HCorrelator as c where c.process = :process"
*/
public class HCorrelator extends HObject {
public final static String DELETE_CORRELATORS_BY_PROCESS = "DELETE_CORRELATORS_BY_PROCESS";
private HProcess _process;
private String _correlatorId;
/** Receives/picks waiting for message. */
private Set<HCorrelatorSelector> _selectors = new HashSet<HCorrelatorSelector>();
/** Messages waiting for picks/receives. */
private Set<HCorrelatorMessage> _messages = new HashSet<HCorrelatorMessage>();
/** Constructor. */
public HCorrelator() {
super();
}
/**
* Get the set of {@link HCorrelatorMessage} objects representing the
* messages that need matching to a selector (i.e. pick/receive).
*
* @hibernate.set lazy="true" inverse="true"
* @hibernate.collection-key column="CORRELATOR" foreign-key="none"
* @hibernate.collection-one-to-many class="org.apache.ode.daohib.bpel.hobj.HCorrelatorMessage"
*/
public Set<HCorrelatorMessage> getMessageCorrelations() {
return _messages;
}
/** Hibernate-mandated setter. */
public void setMessageCorrelations(Set<HCorrelatorMessage> messages) {
_messages = messages;
}
/**
* @hibernate.property
* @hibernate.column name="CID" index="IDX_CORRELATOR_CID"
*/
public String getCorrelatorId() {
return _correlatorId;
}
/** Hibernate-mandated setter. */
public void setCorrelatorId(String correlatorId) {
_correlatorId = correlatorId;
}
/**
* @hibernate.many-to-one column="PROCESS_ID" foreign-key="none"
*/
public HProcess getProcess() {
return _process;
}
/** Hibernate-mandated setter. */
public void setProcess(HProcess process) {
_process = process;
}
/**
* Get the set of {@link HCorrelatorSelector} objects representing the
* selectors (i.e. pick/receive) that need matching to an input message.
*
* @hibernate.set lazy="true" inverse="true"
* @hibernate.collection-key column="CORRELATOR" foreign-key="none"
* @hibernate.collection-one-to-many class="org.apache.ode.daohib.bpel.hobj.HCorrelatorSelector"
*/
public Set<HCorrelatorSelector> getSelectors() {
return _selectors;
}
/** Hibernate-mandated setter. */
public void setSelectors(Set<HCorrelatorSelector> selectors) {
_selectors = selectors;
}
@Override
public String toString() {
return "{HCorrelator process=" + _process.getProcessId() + ", cid=" + _correlatorId + "}";
}
}