001: /**
002: * $Id: ProducerEntity.java,v 1.5 2005/08/05 06:27:30 rt130506 Exp $
003: * Copyright 2003 Sun Microsystems, Inc. All
004: * rights reserved. Use of this product is subject
005: * to license terms. Federal Acquisitions:
006: * Commercial Software -- Government Users
007: * Subject to Standard License Terms and
008: * Conditions.
009: *
010: * Sun, Sun Microsystems, the Sun logo, and Sun ONE
011: * are trademarks or registered trademarks of Sun Microsystems,
012: * Inc. in the United States and other countries.
013: */package com.sun.portal.wsrp.consumer.producermanager;
014:
015: import java.net.URL;
016: import java.util.Map;
017:
018: import com.sun.portal.wsrp.common.stubs.ServiceDescription;
019: import com.sun.portal.wsrp.common.stubs.PortletDescription;
020: import com.sun.portal.wsrp.common.stubs.RegistrationData;
021: import com.sun.portal.wsrp.common.stubs.RegistrationContext;
022:
023: /**
024: * This is a state-less bean describing a producer entity.
025: */
026: public interface ProducerEntity {
027:
028: /**
029: * Get ID of the producer entity. An ID is an unique string randomly
030: * generated by WSRP implementation and remains internal within
031: * the WSRP consumer implementation.
032: *
033: * @return ID of the producer entity.
034: */
035: public String getId();
036:
037: /**
038: * Get the name of the producer.
039: *
040: * @return name of the producer.
041: */
042: public String getName();
043:
044: /**
045: * Get the URL of the producer WSDL.
046: *
047: * @return URL of the WSRP producer's WSDL.
048: */
049: public URL getURL();
050:
051: /**
052: * Get the markup port type endpoint.
053: *
054: * @return markup port type endpoint
055: * @exception WSRPConsumerException if an error occurs
056: */
057: public String getMarkupEndpoint();
058:
059: /**
060: * Get the status of the producer entity.
061: *
062: * @return a <code>ProducerEntityStatus</code> value
063: * @see com.sun.portal.wsrp.consumer.producermanager.ProducerEntityStatus
064: */
065: public ProducerEntityStatus getStatus();
066:
067: /**
068: * Get registration data.
069: *
070: * @return a <code>RegistrationData</code> value
071: */
072: public RegistrationData getRegistrationData();
073:
074: /**
075: * Get registration context
076: *
077: * @return a <code>RegistrationContext</code> value
078: */
079: public RegistrationContext getRegistrationContext();
080:
081: /**
082: * Get the mapping of remote user categories to the local infrastructure roles.
083: *
084: * @return a <code>Map</code> of remote user categories to the local infrastructure roles
085: */
086: public Map getUserCategoryMapping();
087:
088: /**
089: * Get the map of remote user profiles to the local user attributes.
090: *
091: * @return a <code>Map</code>
092: */
093: public Map getCustomUserProfileMapping();
094:
095: /**
096: * Get a subset of standard user profile mapping that are allowed
097: * for this particular producer.
098: *
099: * @return a <code>Map</code> value
100: */
101: public Map getAllowedUserProfileMapping();
102:
103: /**
104: * Get service description of the producer.
105: *
106: * @return a <code>ServiceDescription</code> value
107: */
108: public ServiceDescription getServiceDescription();
109:
110: /**
111: * Get the description of the given portlet.
112: *
113: * @param portletId a <code>String</code> value
114: * @return a <code>PortletDescription</code> value
115: */
116: public PortletDescription getPortletDescription(String portletId);
117:
118: /**
119: * Get the timestamp of the last time that the service description
120: * was fetched.
121: *
122: * @return the difference, measured in milliseconds, between the last time the service description data was fetched from the producer and midnight, January 1, 1970 UTC.
123: */
124: public long getServiceDescriptionLastModified();
125:
126: /**
127: * Get the timestamp of the last time that the producer entity was
128: * modified.
129: *
130: * @return timestamp of the last modified time
131: */
132: public String getLastModified();
133:
134: /**
135: * Returns the Identity Porpagation type. Once set its not recommended to be
136: * modified. If modified would lead to loss of user customization.
137: * Currently supported Identity Propagation types
138: * Sun_SSO_TOKEN
139: * WSS_USERNAME_PROFILE_1.0
140: */
141: public String getIdentityPropagationType();
142:
143: /**
144: * Get a human-readable string representation of the producer entity
145: * for debugging purpose only.
146: *
147: * @return a <code>String</code> representation of the producer entity
148: */
149: public String toString();
150: }
|