001    /**
002     *  Licensed to the Apache Software Foundation (ASF) under one or more
003     *  contributor license agreements.  See the NOTICE file distributed with
004     *  this work for additional information regarding copyright ownership.
005     *  The ASF licenses this file to You under the Apache License, Version 2.0
006     *  (the "License"); you may not use this file except in compliance with
007     *  the License.  You may obtain a copy of the License at
008     *
009     *     http://www.apache.org/licenses/LICENSE-2.0
010     *
011     *  Unless required by applicable law or agreed to in writing, software
012     *  distributed under the License is distributed on an "AS IS" BASIS,
013     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     *  See the License for the specific language governing permissions and
015     *  limitations under the License.
016     */
017    package org.apache.geronimo.naming.deployment.jsr88;
018    
019    import java.io.Serializable;
020    
021    /**
022     * Holds the elements that make up an ObjectName.  This class exists
023     * so that the bundle of elements can be get, set, and edited together
024     * separate from any other elements that may be on the parent.
025     *
026     * @version $Rev: 706640 $ $Date: 2008-10-21 14:44:05 +0000 (Tue, 21 Oct 2008) $
027     */
028    public class Pattern implements Serializable {
029        private String groupId;
030        private String artifactId;
031        private String version;
032        private String module;
033        private String name;
034        private String type;
035    
036        public String getGroupId() {
037            return groupId;
038        }
039    
040        public void setGroupId(String groupId) {
041            this.groupId = groupId;
042        }
043    
044        public String getArtifactId() {
045            return artifactId;
046        }
047    
048        public void setArtifactId(String artifactId) {
049            this.artifactId = artifactId;
050        }
051    
052        public String getVersion() {
053            return version;
054        }
055    
056        public void setVersion(String version) {
057            this.version = version;
058        }
059    
060        public String getModule() {
061            return module;
062        }
063    
064        public void setModule(String module) {
065            this.module = module;
066        }
067    
068        public String getName() {
069            return name;
070        }
071    
072        public void setName(String name) {
073            this.name = name;
074        }
075    
076    
077        public String getType() {
078            return type;
079        }
080    
081        public void setType(String type) {
082            this.type = type;
083        }
084    
085        public boolean empty() {
086            return (groupId == null || groupId.trim().equals("")) &&
087                    (artifactId == null || artifactId.trim().equals("")) &&
088                    (version == null || version.trim().equals("")) &&
089                    (module == null || module.trim().equals("")) &&
090                    (name == null || name.trim().equals("")) &&
091                    (type == null || type.trim().equals(""));
092        }
093    
094        public boolean equals(Object o) {
095            if (this == o) return true;
096            if (o == null || getClass() != o.getClass()) return false;
097    
098            final Pattern pattern = (Pattern) o;
099    
100            if (artifactId != null ? !artifactId.equals(pattern.artifactId) : pattern.artifactId != null) return false;
101            if (groupId != null ? !groupId.equals(pattern.groupId) : pattern.groupId != null) return false;
102            if (module != null ? !module.equals(pattern.module) : pattern.module != null) return false;
103            if (name != null ? !name.equals(pattern.name) : pattern.name != null) return false;
104            if (type != null ? !type.equals(pattern.type) : pattern.type != null) return false;
105            if (version != null ? !version.equals(pattern.version) : pattern.version != null) return false;
106    
107            return true;
108        }
109    
110        public int hashCode() {
111            int result;
112            result = (groupId != null ? groupId.hashCode() : 0);
113            result = 29 * result + (artifactId != null ? artifactId.hashCode() : 0);
114            result = 29 * result + (version != null ? version.hashCode() : 0);
115            result = 29 * result + (module != null ? module.hashCode() : 0);
116            result = 29 * result + (name != null ? name.hashCode() : 0);
117            result = 29 * result + (type != null ? type.hashCode() : 0);
118            return result;
119        }
120    }