001/** 002 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 003 * 004 * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved 005 * 006 * The contents of this file are subject to the terms 007 * of the Common Development and Distribution License 008 * (the License). You may not use this file except in 009 * compliance with the License. 010 * 011 * You can obtain a copy of the License at 012 * https://opensso.dev.java.net/public/CDDLv1.0.html or 013 * opensso/legal/CDDLv1.0.txt 014 * See the License for the specific language governing 015 * permission and limitations under the License. 016 * 017 * When distributing Covered Code, include this CDDL 018 * Header Notice in each file and include the License file 019 * at opensso/legal/CDDLv1.0.txt. 020 * If applicable, add the following below the CDDL Header, 021 * with the fields enclosed by brackets [] replaced by 022 * your own identifying information: 023 * "Portions Copyrighted [year] [name of copyright owner]" 024 * 025 * $Id: Query.java,v 1.2 2008/06/25 05:47:37 qcheng Exp $ 026 * 027 */ 028 029 030package com.sun.identity.saml.protocol; 031 032/** 033 * This is an abstract base class for SAML query. It corresponds to the 034 * <code><samlp:QueryAbstractType></code> in SAML protocol schema. 035 * 036 * @supported.all.api 037 */ 038public abstract class Query { 039 040 /** 041 * The Query is unsupported. 042 */ 043 public static final int NOT_SUPPORTED_QUERY = -1; 044 045 /** 046 * The Query is an Authentication Query. 047 */ 048 public static final int AUTHENTICATION_QUERY = 0; 049 050 /** 051 * The Query is an Authorization Decision Query. 052 */ 053 public static final int AUTHORIZATION_DECISION_QUERY = 1; 054 055 /** 056 * The Query is an Attribute Query. 057 */ 058 public static final int ATTRIBUTE_QUERY = 2; 059 060 /** 061 * default constructor. 062 */ 063 protected Query() { 064 } 065 066 /** 067 * Returns the type of the Query such as <code>AuthenticationQuery</code> or 068 * <code>AuthorizationDecisionQuery</code>. 069 * 070 * @return the type of Query. 071 */ 072 public abstract int getQueryType(); 073 074 /** 075 * Creates a String representation of the element. 076 * @param includeNS Determines whether or not the namespace qualifier 077 * is prepended to the Element when converted 078 * @param declareNS Determines whether or not the namespace is declared 079 * within the Element. 080 * @return A string containing the valid XML for this element 081 */ 082 public abstract String toString(boolean includeNS, boolean declareNS); 083}