org.picketlink.idm.jpa.schema.PartitionObject Maven / Gradle / Ivy
/*
* JBoss, Home of Professional Open Source
*
* Copyright 2013 Red Hat, Inc. and/or its affiliates.
*
* 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.picketlink.idm.jpa.schema;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import org.picketlink.idm.jpa.annotations.Discriminator;
import org.picketlink.idm.jpa.annotations.Identifier;
import org.picketlink.idm.jpa.annotations.Parent;
import org.picketlink.idm.jpa.annotations.Partition;
/**
* @author Pedro Silva
*
*/
@Partition
@Entity
public class PartitionObject implements Serializable {
private static final long serialVersionUID = 3488600508986507443L;
@Identifier
@Id
private String id;
// @IDMProperty(PropertyType.PARTITION_NAME)
// private String name;
@Discriminator
private String type;
@Parent
@ManyToOne
private PartitionObject parent;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
// 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 PartitionObject getParent() {
return parent;
}
public void setParent(PartitionObject parent) {
this.parent = parent;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (!getClass().isInstance(obj)) {
return false;
}
PartitionObject other = (PartitionObject) obj;
return getId() != null && other.getId() != null && getId().equals(other.getId());
}
@Override
public int hashCode() {
int result = getId() != null ? getId().hashCode() : 0;
result = 31 * result + (getId() != null ? getId().hashCode() : 0);
return result;
}
}