Java tutorial
package org.apache.maven.plugin.descriptor; /* * 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. */ /** * @author Jason van Zyl */ public class Parameter implements Cloneable { private String alias; private String name; private String type; private boolean required; private boolean editable = true; private String description; private String expression; private String deprecated; private String defaultValue; private String implementation; private Requirement requirement; private String since; // ---------------------------------------------------------------------- // // ---------------------------------------------------------------------- public String getName() { return name; } public void setName(String name) { this.name = name; } public String getType() { return type; } public void setType(String type) { this.type = type; } public boolean isRequired() { return required; } public void setRequired(boolean required) { this.required = required; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getExpression() { return expression; } public void setExpression(String expression) { this.expression = expression; } public String getDeprecated() { return deprecated; } public void setDeprecated(String deprecated) { this.deprecated = deprecated; } public int hashCode() { return name.hashCode(); } public boolean equals(Object other) { return (other instanceof Parameter) && getName().equals(((Parameter) other).getName()); } public String getAlias() { return alias; } public void setAlias(String alias) { this.alias = alias; } public boolean isEditable() { return editable; } public void setEditable(boolean editable) { this.editable = editable; } public void setDefaultValue(String defaultValue) { this.defaultValue = defaultValue; } public String getDefaultValue() { return defaultValue; } public String toString() { return "Mojo parameter [name: \'" + getName() + "\'; alias: \'" + getAlias() + "\']"; } public Requirement getRequirement() { return requirement; } public void setRequirement(Requirement requirement) { this.requirement = requirement; } public String getImplementation() { return implementation; } public void setImplementation(String implementation) { this.implementation = implementation; } public String getSince() { return since; } public void setSince(String since) { this.since = since; } /** * Creates a shallow copy of this parameter. */ @Override public Parameter clone() { try { return (Parameter) super.clone(); } catch (CloneNotSupportedException e) { throw new UnsupportedOperationException(e); } } }