001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017: package org.apache.servicemix.jbi.servicedesc;
018:
019: import javax.xml.namespace.QName;
020:
021: import org.w3c.dom.DocumentFragment;
022:
023: /**
024: * Linked endpoints are defined by SA deployment.
025: * They act as proxies for real endpoints.
026: */
027: public class LinkedEndpoint extends AbstractServiceEndpoint {
028:
029: /**
030: * Generated serial version UID
031: */
032: private static final long serialVersionUID = 4615848436197469611L;
033:
034: private final QName fromService;
035: private final String fromEndpoint;
036: private final QName toService;
037: private final String toEndpoint;
038: private final String linkType;
039:
040: public LinkedEndpoint(QName fromService, String fromEndpoint,
041: QName toService, String toEndpoint, String linkType) {
042: super (null);
043: this .fromService = fromService;
044: this .fromEndpoint = fromEndpoint;
045: this .toService = toService;
046: this .toEndpoint = toEndpoint;
047: this .linkType = linkType;
048: }
049:
050: /* (non-Javadoc)
051: * @see javax.jbi.servicedesc.ServiceEndpoint#getAsReference(javax.xml.namespace.QName)
052: */
053: public DocumentFragment getAsReference(QName operationName) {
054: return EndpointReferenceBuilder.getReference(this );
055: }
056:
057: /* (non-Javadoc)
058: * @see javax.jbi.servicedesc.ServiceEndpoint#getEndpointName()
059: */
060: public String getEndpointName() {
061: return this .fromEndpoint;
062: }
063:
064: /* (non-Javadoc)
065: * @see javax.jbi.servicedesc.ServiceEndpoint#getInterfaces()
066: */
067: public QName[] getInterfaces() {
068: return null;
069: }
070:
071: /* (non-Javadoc)
072: * @see javax.jbi.servicedesc.ServiceEndpoint#getServiceName()
073: */
074: public QName getServiceName() {
075: return this .fromService;
076: }
077:
078: /**
079: * Get the link type.
080: * @return the link type
081: */
082: public String getLinkType() {
083: return linkType;
084: }
085:
086: /**
087: * Get the destination endpoint.
088: * @return the destination endpoint
089: */
090: public String getToEndpoint() {
091: return toEndpoint;
092: }
093:
094: /**
095: * Get the destination service.
096: * @return the destination service
097: */
098: public QName getToService() {
099: return toService;
100: }
101:
102: protected String getClassifier() {
103: return "linked";
104: }
105:
106: }
|