return getPersistenceSession().createInstance(spec);
}
public SetUpObjectResult setUpProperty(final ObjectAdapter adapter, final int colNum) {
final OneToOneAssociation association = getProperties().get(colNum);
if (association == null) {
return SetUpObjectResult.NO_ASSOCIATION;
}
final String cellText = cellTextList.get(colNum);
// handle empty cell as null
if (cellText == null || cellText.length() == 0) {
// use clear facet if available
final PropertyClearFacet clearFacet = association.getFacet(PropertyClearFacet.class);
if (clearFacet != null) {
clearFacet.clearProperty(adapter);
return SetUpObjectResult.CLEARED;
}
// use setter facet otherwise
final PropertySetterFacet setterFacet = association.getFacet(PropertySetterFacet.class);
if (setterFacet != null) {
setterFacet.setProperty(adapter, null);
return SetUpObjectResult.CLEARED;
}
return SetUpObjectResult.CANNOT_CLEAR;
}
// non-empty, will need a setter
final PropertySetterFacet setterFacet = association.getFacet(PropertySetterFacet.class);
if (setterFacet == null) {
return SetUpObjectResult.CANNOT_SET;
}
final ObjectSpecification fieldSpecification = association.getSpecification();
final ParseableFacet parseableFacet = fieldSpecification.getFacet(ParseableFacet.class);
ObjectAdapter referencedAdapter = null;
if (parseableFacet != null) {
// handle as parseable value