
org.xlcloud.console.wrappers.SessionOutputsWrapper Maven / Gradle / Ivy
The newest version!
/*
* Copyright 2012 AMG.lab, a Bull Group Company
*
* 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.xlcloud.console.wrappers;
import java.util.HashMap;
import java.util.Map;
import org.xlcloud.service.Session;
import org.xlcloud.service.Session.Outputs.Output;
import org.xlcloud.service.State;
/**
* Wrapper for {@link Session.Outputs}. It allows to fetch {@link Output} values by name.
* @author Konrad Król, AMG.net
*/
public class SessionOutputsWrapper {
private Map outputsMap = new HashMap<>();
private Session session;
private SessionOutputsWrapper(Session session) {
this.session = session;
outputsMap.clear();
if(session != null && session.getOutputs() != null) {
for(Output output : session.getOutputs().getOutput()) {
this.outputsMap.put(output.getKey(), output);
}
}
}
/**
* Wraps {@link Session.Outputs} in new {@link SessionOutputsWrapper} object
* @param session
* - session that contains outputs
* @return new {@link SessionOutputsWrapper}
*/
public static SessionOutputsWrapper wrapSession(Session session) {
return new SessionOutputsWrapper(session);
}
/**
* Returns value of the {@link Output} with specified name
* @param outputName
* - name to be found
* @return {@link Output} value
* or null if {@link Output} with the specified name could not be found
*/
public String getOutputValue(String outputName) {
Output output = outputsMap.get(outputName);
return (output != null) ? output.getValue() : null;
}
public boolean isOutputReady() {
return (session != null && session.getStatus().equals(State.RUNNING));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy