NotificationSet.java revision 24ea8b0bf00ce7b51c10c2ba4108ad9b02c49e3f
/**
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 2005 Sun Microsystems Inc. All Rights Reserved
*
* The contents of this file are subject to the terms
* of the Common Development and Distribution License
* (the License). You may not use this file except in
* compliance with the License.
*
* You can obtain a copy of the License at
* See the License for the specific language governing
* permission and limitations under the License.
*
* When distributing Covered Code, include this CDDL
* Header Notice in each file and include the License file
* at opensso/legal/CDDLv1.0.txt.
* If applicable, add the following below the CDDL Header,
* with the fields enclosed by brackets [] replaced by
* your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
*
* $Id: NotificationSet.java,v 1.2 2008/06/25 05:41:35 qcheng Exp $
*
* Portions Copyrighted 2011-2014 ForgeRock AS.
*/
/**
* This <code>NotificationSet</code> class represents a NotificationSet XML
* document. The NotificationSet DTD is defined as the following:
* </p>
*
* <pre>
* <?xml version="1.0">
* < !-- This DTD is used by PLL -->
* < !DOCTYPE NotificationSet [
* < !ELEMENT NotificationSet(Notification)+>
* < !ATTLIST NotificationSet
* vers CDATA #REQUIRED
* svcid CDATA #REQUIRED
* notid CDATA #REQUIRED>
* < !ELEMENT Notification(#PCDATA)*>
* < !ATTLIST Notification
* dtdid CDATA #IMPLIED>
* ]>
* </pre>
*
* </p>
* Each NotificationSet object contains a version, service ID, notification set
* ID, and a collection of Notification objects. The NotificationSet views each
* Notification object as a String. This makes it possible that the content of
* the Notification object can be another XML document. The PLL provides a
* reference Notification DTD. Please see class Notification for details on the
* Notification DTD. This class also provides a method to aggregate each
* Notification object and returns a NotificationSet XML document based on the
* NotificationSet DTD mentioned above.
*
* @see com.iplanet.services.comm.share.Notification
*/
public class NotificationSet {
static final char QUOTE = '\"';
static final char NL = '\n';
private String notificationSetVersion;
private String notificationSetID;
private static int notificationCount = 0;
/**
* This constructor is used primarily at the server side to construct a
* NotificationSet object for a given service. Individual notification shall
* be added to this object by calling addNotification method.
*
* @param service
* The name of the service.
*/
notificationSetVersion = "1.0";
}
/**
* This constructor is used by NotificationSetParser to reconstruct a
* NotificationSet object.
*/
NotificationSet() {
}
/**
* This method is used primarily at the client side to reconstruct a
* NotificationSet object based on the XML document received from server.
* The DTD of this XML document is described above.
*
* @param xml
* The NotificationSet XML document String.
*/
// Parse the XML document and extract the XML objects out of the
// XML document
}
/**
* Gets the service ID of the NotificationSet request.
*
* @return The service ID of the NotificationSet request.
*/
public String getServiceID() {
return serviceID;
}
/**
* Gets the Notification objects contained in this object.
*
* @return A Vector of Notification objects.
*/
return notificationVector;
}
/**
* Adds a Notification object to this object.
*
* @param notification
* A reference to a Notification object.
*/
}
/**
* Returns an XML NotificationSet document in String format. The returned
* String is formatted based on the NotificationSet DTD by aggregating each
* Notification object in this object.
*
* @return An XML NotificationSet document in String format.
*/
public String toXMLString() {
for (int i = 0; i < numNotifications; i++) {
}
}
}
/*
* The following methods are used by NotificationSetParser to reconstruct a
* NotificationSet object.
*/
}
}
}
}