Java tutorial
/* * Copyright 2004-2008 the Seasar Foundation and the Others. * * 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 org.seasar.karrta.jcr.node; import java.io.Serializable; import java.util.Arrays; import java.util.Calendar; import org.apache.commons.lang.builder.ReflectionToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; import org.apache.jackrabbit.ocm.mapper.impl.annotation.Field; import org.apache.jackrabbit.ocm.mapper.impl.annotation.Node; /** * jcr resource node. * * @author yosukehara * */ @Node(jcrType = "nt:resource") public class ResourceNode implements Serializable { private static final long serialVersionUID = 8245163943379226471L; @Field(jcrName = "jcr:mimeType") private String mimeType; public String getMimeType() { return mimeType; } public void setMimeType(String mimeType) { this.mimeType = mimeType; } @Field(jcrName = "jcr:data") private byte[] data; public byte[] getData() { return data; } public void setData(byte[] data) { this.data = data; } @Field(jcrName = "jcr:lastModified") private Calendar lastModified; public Calendar getLastModified() { return lastModified; } public void setLastModified(Calendar lastModified) { this.lastModified = lastModified; } @Override public String toString() { return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + Arrays.hashCode(data); result = prime * result + ((lastModified == null) ? 0 : lastModified.hashCode()); result = prime * result + ((mimeType == null) ? 0 : mimeType.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final ResourceNode other = (ResourceNode) obj; if (!Arrays.equals(data, other.data)) return false; if (lastModified == null) { if (other.lastModified != null) return false; } else if (!lastModified.equals(other.lastModified)) return false; if (mimeType == null) { if (other.mimeType != null) return false; } else if (!mimeType.equals(other.mimeType)) return false; return true; } }