1 /* 2 * Copyright 2014 The Apache Software Foundation. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package org.apache.juddi.validation.vsv; 18 19 import java.util.List; 20 import org.apache.juddi.api.impl.UDDIValueSetCachingImpl; 21 import org.apache.juddi.api.impl.UDDIValueSetValidationImpl; 22 import org.uddi.api_v3.BindingTemplate; 23 import org.uddi.api_v3.BusinessEntity; 24 import org.uddi.api_v3.BusinessService; 25 import org.uddi.api_v3.PublisherAssertion; 26 import org.uddi.api_v3.TModel; 27 import org.uddi.api_v3.TModelInstanceInfo; 28 import org.uddi.v3_service.DispositionReportFaultMessage; 29 30 /** 31 * This is the value set validator interface. It enables you to define your own validation rules for tModel Keyed References. 32 * To use this, define a tModel containing the following 33 * <pre><categoryBag> 34 * <keyedReference keyName="" 35 * keyValue="uddi:juddi.apache.org:servicebindings-valueset-cp" 36 * tModelKey="uddi:uddi.org:identifier:validatedby"/> 37 * </categoryBag> 38 * </pre>Where uddi:juddi.apache.org:servicebindings-valueset-cp 39 * is the binding key of the service implementing the VSV API (this service). 40 * <Br><BR> 41 * From there, you need to create a class that either implements 42 * {@link ValueSetValidator} or extends {@link AbstractSimpleValidator}. It must 43 * be in the package named org.apache.juddi.validation.vsv and must by named 44 * following the convention outlined in {@link #ConvertKeyToClass(java.lang.String) 45 * @author Alex O'Ree 46 * @since 3.2.1 47 * @see AbstractSimpleValidator 48 * @see UDDIValueSetValidationImpl 49 * @see UDDIValueSetCachingImpl 50 */ 51 public interface ValueSetValidator { 52 53 public void validateTmodelInstanceDetails(List<TModelInstanceInfo> tModelInstanceInfo, String xpath) throws DispositionReportFaultMessage; 54 55 public void validateValuesBindingTemplate(List<BindingTemplate> items, String xpath) throws DispositionReportFaultMessage; 56 57 public void validateValuesBusinessEntity(List<BusinessEntity> items) throws DispositionReportFaultMessage; 58 59 public void validateValuesBusinessService(List<BusinessService> items, String xpath) throws DispositionReportFaultMessage; 60 61 public void validateValuesPublisherAssertion(List<PublisherAssertion> items) throws DispositionReportFaultMessage; 62 63 public void validateValuesTModel(List<TModel> items) throws DispositionReportFaultMessage; 64 65 public List<String> getValidValues(); 66 }