Java tutorial
/** * Copyright 2013-2018 the original author or authors from the Jeddict project (https://jeddict.github.io/). * * Licensed 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. */ package io.github.jeddict.snippet; import java.util.Objects; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlValue; import org.apache.commons.lang.StringUtils; import static org.apache.commons.lang.StringUtils.deleteWhitespace; /** * * @author Gaurav Gupta */ @XmlAccessorType(XmlAccessType.FIELD) public abstract class Snippet<L extends SnippetLocation> { @XmlAttribute(name = "e") protected boolean enable = true; @XmlValue protected String value; /** * @return the enable */ public boolean isEnable() { return enable; } /** * @param enable the enable to set */ public void setEnable(boolean enable) { this.enable = enable; } /** * @return the locationType */ public abstract L getLocationType(); /** * @param locationType the locationType to set */ public abstract void setLocationType(L locationType); /** * @return the value */ public String getValue() { return value; } /** * @param value the value to set */ public void setValue(String value) { this.value = value; } @Override public int hashCode() { int hash = 7; hash = 53 * hash + Objects.hashCode(this.getLocationType()); return hash; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof Snippet)) { return false; } final Snippet other = (Snippet) obj; if (this.getLocationType() != other.getLocationType()) { return false; } return StringUtils.equals(deleteWhitespace(this.getValue()), deleteWhitespace(other.getValue())); } }