001    package org.gwtbootstrap3.extras.notify.client.constants;
002    
003    import org.gwtbootstrap3.client.ui.constants.Type;
004    
005    /*
006     * #%L
007     * GwtBootstrap3
008     * %%
009     * Copyright (C) 2013 - 2015 GwtBootstrap3
010     * %%
011     * Licensed under the Apache License, Version 2.0 (the "License");
012     * you may not use this file except in compliance with the License.
013     * You may obtain a copy of the License at
014     * 
015     *      http://www.apache.org/licenses/LICENSE-2.0
016     * 
017     * Unless required by applicable law or agreed to in writing, software
018     * distributed under the License is distributed on an "AS IS" BASIS,
019     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
020     * See the License for the specific language governing permissions and
021     * limitations under the License.
022     * #L%
023     */
024    
025    /**
026     * Enumeration of possible Notify's screen locations.
027     *
028     * @author Xiaodong SUN
029     */
030    public enum NotifyPlacement implements Type {
031    
032        TOP_LEFT("top", "left"),
033        TOP_CENTER("top", "center"),
034        TOP_RIGHT("top", "right"),
035        BOTTOM_LEFT("bottom", "left"),
036        BOTTOM_CENTER("bottom", "center"),
037        BOTTOM_RIGHT("bottom", "right");
038    
039        private final String from;
040        private final String align;
041    
042        private NotifyPlacement(final String from, final String align) {
043            this.from = from;
044            this.align = align;
045        }
046    
047        /**
048         * Returns the vertical placement : top or bottom.
049         *
050         * @return the vertical placement
051         */
052        public String getFrom() {
053            return from;
054        }
055    
056        /**
057         * Returns the horizontal placement : left, center, or right.
058         *
059         * @return the horizontal placement
060         */
061        public String getAlign() {
062            return align;
063        }
064    
065        /**
066         * Returns the string representation of placement.
067         *
068         * @return String representation of placement
069         */
070        public String getPlacement() {
071            return getFrom() + "-" + getAlign();
072        }
073    
074    }