package ilarkesto.mda.legacy.model;
public class SimplePropertyModel extends PropertyModel {
private String type;
private EntityModel referencedEntity;
private boolean optionRestricted;
public SimplePropertyModel(BeanModel entityModel, String name, boolean reference, boolean valueObject, String type) {
super(entityModel, name, reference, valueObject);
this.type = type;
}
public SimplePropertyModel(BeanModel entityModel, String name, EntityModel referencedEntity) {
this(entityModel, name, true, false, referencedEntity.getPackageName() + "." + referencedEntity.getName());
this.referencedEntity = referencedEntity;
}
public SimplePropertyModel addBackReference(EntityModel entity, String name) {
entity.addBackReference(new BackReferenceModel(name, this));
return this;
}
public SimplePropertyModel setOptionRestricted(boolean optioned) {
this.optionRestricted = optioned;
return this;
}
@Override
public boolean isOptionRestricted() {
return optionRestricted;
}
public EntityModel getReferencedEntity() {
return referencedEntity;
}
@Override
public final String getType() {
return type;
}
@Override
public String getContentType() {
return getType();
}
@Override
public String getCollectionType() {
throw new UnsupportedOperationException("not a collection property");
}
@Override
public String getCollectionImpl() {
throw new UnsupportedOperationException("not a collection property");
}
@Override
public final boolean isCollection() {
return false;
}
@Override
public String getNameSingular() {
return getName();
}
@Override
public boolean isBoolean() {
return "boolean".equals(getType()) || Boolean.class.getName().equals(getType());
}
@Override
public boolean isString() {
return String.class.getName().equals(getType());
}
@Override
public boolean isPrimitive() {
if (isBoolean()) return true;
if (int.class.getName().equals(type)) return true;
if (long.class.getName().equals(type)) return true;
return false;
}
}