javax.portlet.WindowState Maven / Gradle / Ivy
Show all versions of portlet-api Show documentation
/* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
/*
* This source code implements specifications defined by the Java
* Community Process. In order to remain compliant with the specification
* DO NOT add / change / or delete method signatures!
*/
package javax.portlet;
import java.util.Locale;
/**
* The WindowState
class represents the possible window states
* that a portlet window can assume.
*
* This class defines a standard set of the most basic portlet window states. Additional window states may be defined by
* calling the constructor of this class. If a portal/portlet-container does not support a custom window state defined
* in the portlet application deployment descriptor, the custom window state will be ignored by the portal/portlet
* container.
*/
public class WindowState {
/**
*
The window state UNDEFINED
is returned by the
* getWindowState
method when the window state is not available.
*
* This mode may not be used to set the window state in the setWindowState
method.
*
* The string value for this mode is "undefined"
.
*/
public final static WindowState UNDEFINED = new WindowState("undefined");
/**
* The NORMAL
window state indicates that a portlet may be sharing the page with other portlets. It may
* also indicate that the target device has limited display capabilities. Therefore, a portlet should restrict the
* size of its rendered output in this window state.
*
* The string value for this state is "normal"
.
*/
public final static WindowState NORMAL = new WindowState("normal");
/**
* The MAXIMIZED
window state is an indication that a portlet may be the only portlet being rendered in
* the portal page, or that the portlet has more space compared to other portlets in the portal page. A portlet may
* generate richer content when its window state is MAXIMIZED
.
*
* The string value for this state is "maximized"
.
*/
public final static WindowState MAXIMIZED = new WindowState("maximized");
/**
* When a portlet is in MINIMIZED
window state, the portlet should only render minimal output or no
* output at all.
*
* The string value for this state is "minimized"
.
*/
public final static WindowState MINIMIZED = new WindowState("minimized");
private String _name;
/**
* No-arg constructor to make object proxyable
*/
public WindowState() {
_name = "undefined";
}
/**
* Creates a new window state with the given name.
*
* Upper case letters in the name are converted to lower case letters.
*
* @param name
* The name of the window state
*/
public WindowState(String name) {
if (name == null) {
throw new IllegalArgumentException("WindowState name can not be NULL");
}
_name = name.toLowerCase(Locale.ENGLISH);
}
/**
* Returns a String representation of this window state. Window state names are always lower case names.
*
* @return String representation of this window state.
*/
public String toString() {
return _name;
}
/**
* Returns the hash code value for this window state. The hash code is constructed by producing the hash value of the
* String value of this window state.
*
* @return hash code value for this window state
*/
public int hashCode() {
return _name.hashCode();
}
/**
* Compares the specified object with this window state for equality. Returns true
if the Strings
* equals
method for the String representing the two window states returns true
.
*
* @param object
* the window state to compare this window state with.
*
* @return true, if the specified object is equal with this window state.
*/
public boolean equals(Object object) {
if (object instanceof WindowState)
return _name.equals(((WindowState) object)._name);
else
return false;
}
}