All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.persistence.queries.FieldResult Maven / Gradle / Ivy

There is a newer version: 4.0.2
Show newest version
/*
 * Copyright (c) 1998, 2018 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0,
 * or the Eclipse Distribution License v. 1.0 which is available at
 * http://www.eclipse.org/org/documents/edl-v10.php.
 *
 * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
 */

// Contributors:
//     Oracle - initial API and implementation from Oracle TopLink
//     02/08/2012-2.4 Guy Pelletier
//       - 350487: JPA 2.1 Specification defined support for Stored Procedure Calls
package org.eclipse.persistence.queries;

import java.io.Serializable;

import org.eclipse.persistence.internal.helper.DatabaseField;
import org.eclipse.persistence.internal.localization.ExceptionLocalization;
import org.eclipse.persistence.sessions.DatabaseRecord;

/**
 * 

Purpose: * Concrete class to represent the FieldResult structure as defined by * the EJB 3.0 Persistence specification. This class is a subcomponent of the * EntityResult. * * @see EntityResult * @author Gordon Yorke * @since TopLink Java Essentials */ public class FieldResult implements Serializable{ /** Stores the name of the bean attribute */ protected String attributeName; /** Stores passed in field name split on the '.' character */ protected String[] multipleFieldIdentifiers; /** FieldResult now can contain multiple FieldResults in a collection if an attribute has multiple fields */ java.util.Vector fieldResults; /** Stores the Columns name from the result set that contains the attribute value */ protected DatabaseField column; public FieldResult(String attributeName, String columnName){ if (attributeName == null || columnName == null ){ throw new IllegalArgumentException(ExceptionLocalization.buildMessage("null_values_for_field_result")); } this.column = new DatabaseField(columnName); multipleFieldIdentifiers = attributeName.split("\\.",0); this.attributeName = multipleFieldIdentifiers[0]; } public FieldResult(String attributeName, DatabaseField column){ if (attributeName == null || column == null || column.getName() == null){ throw new IllegalArgumentException(ExceptionLocalization.buildMessage("null_values_for_field_result")); } this.column = column; multipleFieldIdentifiers = attributeName.split("\\.",0); this.attributeName = multipleFieldIdentifiers[0]; } public String getAttributeName(){ return this.attributeName; } public DatabaseField getColumn(){ return this.column; } /** * INTERNAL: * This method is a convenience method for extracting values from Results */ public Object getValueFromRecord(DatabaseRecord record){ return record.get(this.column); } /** * INTERNAL: */ public java.util.Vector getFieldResults(){ return fieldResults; } /** * INTERNAL: */ public String[] getMultipleFieldIdentifiers(){ return multipleFieldIdentifiers; } /** * INTERNAL: * This method is used to support mapping multiple fields, fields are * concatenated/added to one fieldResult. */ public void add(FieldResult newFieldResult){ if( fieldResults ==null){ fieldResults = new java.util.Vector(); fieldResults.add(this); } fieldResults.add(newFieldResult); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy