001: /******************************************************************************
002: * JBoss, a division of Red Hat *
003: * Copyright 2006, Red Hat Middleware, LLC, and individual *
004: * contributors as indicated by the @authors tag. See the *
005: * copyright.txt in the distribution for a full listing of *
006: * individual contributors. *
007: * *
008: * This is free software; you can redistribute it and/or modify it *
009: * under the terms of the GNU Lesser General Public License as *
010: * published by the Free Software Foundation; either version 2.1 of *
011: * the License, or (at your option) any later version. *
012: * *
013: * This software is distributed in the hope that it will be useful, *
014: * but WITHOUT ANY WARRANTY; without even the implied warranty of *
015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
016: * Lesser General Public License for more details. *
017: * *
018: * You should have received a copy of the GNU Lesser General Public *
019: * License along with this software; if not, write to the Free *
020: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
021: * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
022: ******************************************************************************/package org.jboss.portal.wsrp.producer.config;
023:
024: import org.jboss.portal.registration.RegistrationPolicy;
025: import org.jboss.portal.registration.RegistrationPolicyChangeListener;
026: import org.jboss.portal.registration.RegistrationPropertyChangeListener;
027: import org.jboss.portal.wsrp.registration.RegistrationPropertyDescription;
028:
029: import javax.xml.namespace.QName;
030: import java.util.Map;
031:
032: /**
033: * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
034: * @version $Revision:5865 $
035: * @since 2.6
036: */
037: public interface ProducerRegistrationRequirements {
038: String DEFAULT_POLICY_CLASS_NAME = "org.jboss.portal.registration.policies.DefaultRegistrationPolicy";
039: String DEFAULT_VALIDATOR_CLASS_NAME = "org.jboss.portal.registration.policies.DefaultRegistrationPropertyValidator";
040:
041: boolean isRegistrationRequired();
042:
043: void setRegistrationRequired(boolean requiresRegistration);
044:
045: boolean isRegistrationRequiredForFullDescription();
046:
047: void setRegistrationRequiredForFullDescription(
048: boolean fullServiceDescriptionRequiresRegistration);
049:
050: Map getRegistrationProperties();
051:
052: void addRegistrationProperty(
053: RegistrationPropertyDescription propertyDescription);
054:
055: void removeRegistrationProperty(String propertyName);
056:
057: void removeRegistrationProperty(QName propertyName);
058:
059: void clearRegistrationProperties();
060:
061: boolean acceptValueFor(QName propertyName, Object value);
062:
063: boolean acceptValueFor(String propertyName, Object value);
064:
065: RegistrationPropertyDescription getRegistrationPropertyWith(
066: String name);
067:
068: RegistrationPropertyDescription getRegistrationPropertyWith(
069: QName name);
070:
071: void notifyRegistrationPropertyChangeListeners();
072:
073: void addRegistrationPropertyChangeListener(
074: RegistrationPropertyChangeListener listener);
075:
076: void clearRegistrationPropertyChangeListeners();
077:
078: void removeRegistrationPropertyChangeListener(
079: RegistrationPropertyChangeListener listener);
080:
081: void setPolicy(RegistrationPolicy policy);
082:
083: RegistrationPolicy getPolicy();
084:
085: void reloadPolicyFrom(String policyClassName,
086: String validatorClassName);
087:
088: /**
089: * @param propertyDescription
090: * @param oldName
091: * @since 2.6.3
092: */
093: void propertyHasBeenRenamed(
094: RegistrationPropertyDescription propertyDescription,
095: QName oldName);
096:
097: /**
098: * @param name
099: * @since 2.6.3
100: */
101: void addEmptyRegistrationProperty(String name);
102:
103: /**
104: * @param listener
105: * @since 2.6.3
106: */
107: void addRegistrationPolicyChangeListener(
108: RegistrationPolicyChangeListener listener);
109:
110: /**
111: * @param listener
112: * @since 2.6.3
113: */
114: void removeRegistrationPolicyChangeListener(
115: RegistrationPolicyChangeListener listener);
116:
117: /** @since 2.6.3 */
118: void clearRegistrationPolicyChangeListeners();
119: }
|