Pair, and also accessing another class's vars

Hi, two things:
1) If some variable was set equal to Pair(obj1, obj2) what exactly does this mean? Is Pair some specialized type of 2-element array? Can you use Pair[0] to get the first element?
2) If another Object has, in its definition, a public variable, should I use Objectname.variable to get access to it if they don't provide a get() method?

2) If another Object has, in its definition, a public
variable, should I use Objectname.variable to get
access to it if they don't provide a get() method?Yes, you access all instance members the same way: reference.member

Similar Messages

  • Access another class function

    Hey,
    I am trying to access another class function. I have 2 Classes and my main menu features are in my Main Class and I want to call that function from my Level Class
    What is a good idea to approach this, some how I need to import it in a way but I don't know how I could do that.
    Thanks,
    McbainGames11

    Fixed it myself
    Answer:
                        public static var instance:Main;
                        public function Main()
                                  instance = this;
    And I called a function from Main Class in my Level Class using:
    Main.instance.function();

  • Accessing another class

    A have my "main" class (a JPanel) and the thing I want to do is simply to access another class' data and methods through my main class (That class also extending JPanel and is added together with the main class to a JFrame in a third class). The thing is i have this JTextPane that i wished to edit from my main class. Like:
    //Main class
    public class Main extends JPanel {
         private class Listener implements KeyListener{
              public void keyPressed(KeyEvent ke) {
                   if (ke.getKeyCode() == foo){
                        //Do like:
                        Log.appendLogText(bar);
    }//My JTextPane handling class
    public class Log extends JPanel {
         private JTextPane logText;
         public Log(){
              logText = new JTextPane();
              logText.setContentType("text/html");
         public void appendLogText(String str){
              String text = str;
              Document textDoc = tempLogText.getDocument();
              int end = textDoc.getLength();
              try {
                   textDoc.insertString(end, text, logText.getLogicalStyle());
                   logText.setText(textDoc.getText(0, textDoc.getLength()));
              } catch (BadLocationException e) {}
    }This is just scraps of code, if there is a better way to do it please tell me, what i want is (again) simply one JPanel displaying something where you can edit the JTextPane in another JPanel (and class).

    public class Main extends JPanel {
        private Log log;
        public void setLog(Log log) {
            this.log = log;
        log.appendLogText(bar);
    }It's up to the builder code that instantiates Main and Log classes to call:
    tehMain.setLog(tehLog);For an extra schmear of abstraction, you can do this variant:
    public interface ILog {
        void appendLogText(String s);
    public class Main extends JPanel {
        private ILog log;
        public void setLog(ILog log) {
            this.log = log;
        log.appendLogText(bar);
    public class Log extends JPanel implements ILog {...}That way, you can pass Main other ILogs -- for testing Main, for example.

  • How can I access another class in a MembershipRule's Expression

    Hello,
    I want to create an InstanceGroup using Module Microsoft.SystemCenter.GroupPopulator.
    I need to collect all Logical Disks which contain an MS SQL DB Log File.
    I would start as follows:
    <DataSource ID="DS" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
      <RuleId>$MPElement$</RuleId>
      <GroupInstanceId>$Target/Id$</GroupInstanceId>
      <MembershipRules>
        <MembershipRule>
          <MonitoringClass>$MPElement[Name="Windows!Microsoft.Windows.LogicalDisk"]$</MonitoringClass>
          <RelationshipClass>$MPElement[Name="MSIL!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>     
    <Expression>
            <And>
      <!--
       First Expression
      -->
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <Property>$MPElement[Name="Windows!Microsoft.Windows.LogicalDevice"]/Name$</Property>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
      <!--
        How can I access another class's properties ? 
      -->
                    <GenericProperty>$MPElement[Name="SQL!Microsoft.SQLServer.2008.DBLogFile"]/Drive$</GenericProperty>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <HostProperty>
                      <MonitoringClass>$MPElement[Name="Windows!Microsoft.Windows.Computer"]</MonitoringClass>
                      <Property>PrincipalName</Property>
                    </HostProperty>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <GenericProperty>$MPElement[Name="SQL!Microsoft.SQLServer.2008.DBLogFile"]/Drive$</GenericProperty>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </And>
          </Expression>
        </MembershipRule>
      </MembershipRules>
    </DataSource>
    In the first expression you "see" my question:
    I want to compare the LogicalDisk's Name Property with the DB Log File's Drive property.
    But how can I access the DB Log File's Drive property in this MembershipRule ?
    Furthermore LogicalDisk and DB Log File must be hosted on the same Windows Computer.
    Would be great if somebody could help.
    Thanks
    Sebastian

    Hi Niki,
    thanks for the idea, but that will not work. $Target/Id$ refers always to the group to be discovered.
    On last week end I was given following idea, hope it will work:
    Step 1
    Collect all the DB SQL Logfile Objects and write computername (PrincipalName?) and Driveletter into a textfile, line by line. Shouldn't be a problem, PowerShell is your friend.
    Step 2
    Read the file from Step 1, build discovery data for each disk drive as object of class "Logical Disk (Server)",
    and then discover the containment-relationships from those Logical Drive(Server) Objects to the InstanceGroup.
    Perhaps I must do it for the OS-Version related Disks, because I need the target classes  of the Logical Disk Freespace monitors. Some more work. "Risks": I donot know the discovery algorithm for the Logical Disk(Server) Objects, but a "deep
    dive" into the MPs should help.
    Thanks to all, who have read.
    I will inform you about progress and success
    sebastian

  • Access Another Class' Property Value That is Defined in the faces-config?

    I have a private property "dataTransferType" with public getter and setter in the DataFile class. The initial value of the "dataTransferType" is defined in the faces-config.xml file. I want to get the "initial value" of the "dataTransferType" in another class and the compiler does not like the way I access this property.
    Here is the snippet of the DataFile class, which shows the declaration and the getter and setter for the property:
    public class DataFile implements java.io.Serializable
         private String dataTransferType;
         public DataFile(){}
        public DataFile( String aDataTransferType )
            this.dataTransferType = aDataTransferType;
         public String getDataTransferType()
              return dataTransferType;
         public void setDataTransferType( String dataTransferType )
              this.dataTransferType = dataTransferType;
    }Here is the way that the initial value of the "dataTransferPropery" is set in the faces-config.xml file:
    <managed-bean>
      <managed-bean-name>dataFile</managed-bean-name>
      <managed-bean-class>propertyBeans.DataFile</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
      <managed-property>
       <property-name>dataTransferType</property-name>
       <property-class>java.lang.String</property-class>
       <value>importFile</value>
      </managed-property>
    </managed-bean>Now, in another class FileManagementBean, I first instantiate the DataFile class
    private DataFile datafile;and then in the constructor of the FileManagementBean I tried to access the initial value of the property "dataTransferType":
    this.recordItems = this.getRecordsList( datafile.dataTransferType );The compiler did not like it at all.
    But, if I arbitrary introduced a String in the FileManagementBean:
    String defaultSelectedDataTransferType = "importFile";
    this.recordItems = this.getRecordsList( defaultSelectedDataTransferType );My code worked as I had expected without any problem.

    Thanks for all your attention.
    The runtime error is rather strange:
    >
    javax.servlet.ServletException: javax.faces.FacesException: javax.faces.FacesException: Can't instantiate class: 'actions.DataManagementBean'.. class actions.DataManagementBean : java.lang.NullPointerException
    The DataManagementBean is the class that accesses the property "dataTransferType" in the DataFile class. And the initial value of the "dataTransferType" is defined in the faces-config.xml file.
    If I arbitrarily introduced a String value in the DataManagementBean:
    String defaultSelectedDataTransferType = "importFile"and in the DataManagementBean's constructor, I use this statement:
    this.recordItems = this.getRecordsList( defaultSelectedDataTransferType );Things worked as I had expected without problem. But, I think this is not an elegant way of coding it. Because there is a pre-defined value of dataTransferType in the faces-config.xml file, I should access it from there.
    But, when I specify:
    this.recordItems = this.getRecordsList( datafile.getDataTransferType() );The DataManagementBean cannot even be instantiated!
    In my faces-config.xml file, I have:
    <managed-bean>
      <managed-bean-name>dataManagementBean</managed-bean-name>
      <managed-bean-class>actions.DataManagementBean</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
      <managed-property>
       <property-name>datafile</property-name>
       <property-class>propertyBeans.DataFile</property-class>
       <value>#{dataFile}</value>
      </managed-property>
    </managed-bean>
    <managed-bean>
      <managed-bean-name>dataFile</managed-bean-name>
      <managed-bean-class>propertyBeans.DataFile</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
      <managed-property>
       <property-name>dataTransferType</property-name>
       <property-class>java.lang.String</property-class>
       <value>importFile</value>
      </managed-property>
    </managed-bean>
    ......

  • Help... dont know what's the problem.. accessing another class

    (im new to java =c)
    well i have a file named accessfiles.java as my main page and i have another java file named try1.java
    i can access try1.java from accessfiles.java using a simple case..... but how come i cant return to accessfiles.java?
    is it with the string[]args?? do i have to erase it?
    please help me =c
    accessfiles.java
    import java.io.*;
    public class accessfiles{
    public static void main(String[]args)throws Exception{
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    System.out.println("\nMAIN MENU");
    System.out.println("[1] for Prelim MP1");
    System.out.print("CHOICE: ");
    switch(c)
    case 1:
         try m1=new try1();
         m1.try();
         break;
    default: System.out.println("Invalid Input!");
         break;
    try1.java
    import java.io.*;
    public class try1 {
         public static void try()throws Exception
              BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
              int x=0;
              int y=0;                    
              int r=0;
         System.out.println("1st Pattern");
         for (x=1;x<=5;x++)
         System.out.println(" ");
         r=x;
         for (y=1;y<=r;y++)
         System.out.print(y);
         System.out.println(" ");
         System.out.println(" ");
         System.out.println("2nd Pattern");
         for (x=5;x>=1;x--)
         System.out.println(" ");
         r=x;
         for (y=1;y<=r;y++)
         System.out.print(y);
    accessfiles m2=new accessfiles();
         m2.main();
         break;
    }

    For starters, you don't seem to understand the difference between a static and non-static method. Here is an example of how to call a method in a different class.
    public class MainClass {
        public static void main(String[] args) {
            MainClass app = new MainClass();
            app.go();
        public void go() {
            System.out.println("start of go");
            another.method();
            System.out.println("end of go");
        private AnotherClass another = new AnotherClass();
    public class AnotherClass {
        public void method() {
            System.out.println("method");
    }

  • If java inherites Object , and i inherite another class  how possible ?

    hey !
    if my class B inherits A , and you know that all class inherits a class called Object , then that means B inherts two classes one A (user defined ) and another Object, then is it a violation of rule ? if now how java achieved this feature ? can you justify
    for sack of simplicity i wrote following code .
    class B extends A
    int r;
    B(int a)
    r=a;
    public String toString()
    return r +" ";
    }

    Java supports this:
       Object
          |
          A
          |
          B
          |
          Cbut not this:
       Object
       A     B
          C

  • Error won't let me access another class(has got me tearing my hair off)

    Alright peeps, so basically i have 2 buttons in the mainfraime class. The first button leads to the contestant's page and the second to the voters page. The first button works and directs the user to the PasswordDemo page, but to the hell of me i cant figure out why it refuses to recognize the "Profile" class that its supposed to go to when the user clicks the second button. It keeps on telling me that "The method Profile() is undefined for the type Mainframe". Please help.
    Mainframe class:
    //The applications first or the main frame
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Mainframe extends JFrame {
            private JButton myFirstButton;
            private JButton mySecondButton;
            private javax.swing.JButton jButton1;
            private javax.swing.JButton jButton2;
            private javax.swing.JLabel jLabel1;
            private javax.swing.JLabel jLabel2;
            private javax.swing.JLabel jLabel3;
            // Constructor for a new frame
            public Mainframe() {
                    super("Welcome Page");
                    myFirstButton = new JButton("Contestant");
                    myFirstButton.setFont(new Font( "Arial", Font.BOLD, 18));
                    myFirstButton.setBackground(Color.red);
                    mySecondButton = new JButton("Voter");
                    mySecondButton.setFont(new Font( "Arial", Font.BOLD, 18));
                    mySecondButton.setBackground(Color.ORANGE);
                    Container c = getContentPane();
                    FlowLayout fl = new FlowLayout(FlowLayout.LEFT);
                    c.setLayout(fl);
                    c.add (myFirstButton);
                    c.add (mySecondButton);
                    ButtonHandler handler = new ButtonHandler();    //creation of a new Object
                    myFirstButton.addActionListener(handler);          // Attach/register handler to myFirstButton
                    mySecondButton.addActionListener(handler);        //Attach/register handler to mySecondButton
                    setSize(400, 300);
                    show();
            public static void main(String [] args) {
                    // Make frame
                    Mainframe f = new Mainframe();
                    f.addWindowListener(
                            new WindowAdapter() {
                                    public void windowClosing(WindowEvent e) {
                                            // This closes the window and terminates the
                                            // Java Virtual Machine in the event that the
                                            // Frame is closed by clicking on X.
                                            System.out.println("Exit via windowClosing.");
                                            System.exit(0);
            } // end of main
            // inner class for button event handling
            private class ButtonHandler implements ActionListener {
                    public void actionPerformed(ActionEvent e) {
                            if (e.getSource() == myFirstButton) {
                                 PasswordDemo inputForm = new PasswordDemo();
                                    //inputForm.setVisible(true);
                                    try
                                    PasswordDemo.createAndShowGUI();
                                    inputForm.setVisible(false);
                                    catch(Exception d)
                                   // new PasswordDemo();
                            if (e.getSource() == mySecondButton) {
                           //     Profile p = Profile();
                           //     p.setVisible(true);
            public void actionPerformed (ActionEvent e)
                String cmd = e.getActionCommand();
                if (mySecondButton.equals(cmd)) {
                     boolean success=true;
                     if(success)
                     Profile p = Profile();
                       p.setVisible(true);
          //  private void mySecondButtonActionPerformed(java.awt.event.ActionEvent evt)
         //        Profile p = Profile();
         //       p.setVisible(true);
    } // end of outer class
    }Profile class:
    import java.awt.event.ActionListener;
    import java.sql.*;
    public class Profile extends javax.swing.JFrame {
        public Profile() {
            initComponents();
        @SuppressWarnings("unchecked")
        private void initComponents() {
            titleLabel = new javax.swing.JLabel();
            nameAccess = new javax.swing.JLabel();
            ageAccess = new javax.swing.JLabel();
            heightAccess = new javax.swing.JLabel();
            weightAccess = new javax.swing.JLabel();
            lastNameAccess = new javax.swing.JLabel();
            descriptionAccess = new javax.swing.JLabel();
            nameLabel = new javax.swing.JLabel();
            lastNameLabel = new javax.swing.JLabel();
            ageLabel = new javax.swing.JLabel();
            heightLabel = new javax.swing.JLabel();
            weightLabel = new javax.swing.JLabel();
            descriptionLabel = new javax.swing.JLabel();
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            titleLabel.setFont(new java.awt.Font("Gungsuh", 1, 18)); // NOI18N
            titleLabel.setText("\"User\"'s Profile");
            nameAccess.setText("Name: ");
            nameLabel.setText("");
            lastNameAccess.setText("Last Name: ");
            lastNameLabel.setText("");
            ageAccess.setText("Age: ");
            ageLabel.setText("");
            heightAccess.setText("Height: ");
            heightLabel.setText("");
            weightAccess.setText("Weight: ");
            weightLabel.setText("");
            descriptionAccess.setText("Description: ");
            descriptionLabel.setText("");
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(titleLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 246, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(nameAccess)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(nameLabel))
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(lastNameAccess)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(lastNameLabel))
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(ageAccess)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(ageLabel))
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(heightAccess)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(heightLabel))
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(weightAccess)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(weightLabel))
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(descriptionAccess)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(descriptionLabel)))
                    .addContainerGap(151, Short.MAX_VALUE))
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(titleLabel)
                    .addGap(13, 13, 13)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(nameAccess)
                        .addComponent(nameLabel))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(lastNameAccess)
                        .addComponent(lastNameLabel))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(ageAccess)
                        .addComponent(ageLabel))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(heightAccess)
                        .addComponent(heightLabel))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(weightAccess)
                        .addComponent(weightLabel))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(descriptionAccess)
                        .addComponent(descriptionLabel))
                    .addContainerGap(139, Short.MAX_VALUE))
            pack();
        }// </editor-fold>
         * @param args the command line arguments
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new Profile().setVisible(true);
        // Variables declaration - do not modify
        private javax.swing.JLabel ageAccess;
        private javax.swing.JLabel ageLabel;
        private javax.swing.JLabel descriptionAccess;
        private javax.swing.JLabel descriptionLabel;
        private javax.swing.JLabel heightAccess;
        private javax.swing.JLabel heightLabel;
        private javax.swing.JLabel lastNameAccess;
        private javax.swing.JLabel lastNameLabel;
        private javax.swing.JLabel nameAccess;
        private javax.swing.JLabel nameLabel;
        private javax.swing.JLabel titleLabel;
        private javax.swing.JLabel weightAccess;
        private javax.swing.JLabel weightLabel;
        // End of variables declaration
    }PasswordDemo class:
    import javax.swing.*;
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.Arrays;
    import java.net.*;
    import java.io.*;
    import java.util.Scanner;
    public class PasswordDemo extends JPanel
                              implements ActionListener  {
        private static String OK = "ok";
        private static String HELP = "help";
        private static String Register = "Register";
        private JFrame controllingFrame; //needed for dialogs
        private JTextField username;
        private JPasswordField passreg;
        private JTextField usernamefield;
        private JPasswordField passwordField;
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private JTextField name;
        private JTextField age;
        private JTextField height;
        private JTextField weight;
    private javax.swing.JPanel jPanel1;
        private void gothere() {
                      JFrame f = new JFrame("This is a test");
                      f.setSize(400, 300);
                      Container content = f.getContentPane();
                      content.setBackground(Color.white);
                      content.setLayout(new FlowLayout());
                     // content.add(new JButton("Button 1"));
                      //content.add(new JButton("Button 2"));
             name = new JTextField("Please put your name here", 20);
              name.setFont(new Font("Serif", Font.PLAIN, 14));
              content.add(name);
              age = new JTextField("Please put your age here", 20);
              age.setFont(new Font("Serif", Font.PLAIN, 14));
              content.add(age);
              height = new JTextField("Please indicate your height here", 20);
              height.setFont(new Font("Serif", Font.PLAIN, 14));
              content.add(height);
              weight = new JTextField("Please indicate your weight here", 20);
              weight.setFont(new Font("Serif", Font.PLAIN, 14));
              content.add(weight);
              content.add(new JButton("Submit"));
               f.setVisible(true);
         public PasswordDemo(JFrame f) throws Exception {
            //Use the default FlowLayout.
            controllingFrame = f;
            //Create everything.
            usernamefield = new JTextField(10);
            usernamefield.setActionCommand(OK);
            usernamefield.addActionListener(this);
            passwordField = new JPasswordField(10);
            passwordField.setActionCommand(OK);
            passwordField.addActionListener(this);
            passreg = new JPasswordField(10);
            passreg.setActionCommand(Register);
            passreg.addActionListener(this);
            username = new JTextField("This is a sentence", 20);
            username.setActionCommand(Register);
            username.addActionListener(this);
            JLabel reg = new JLabel("If you are a new contestant please register: \n");
            JLabel user = new JLabel("Username: \n");
            user.setLabelFor(username);
            JLabel pass = new JLabel("Password: \n");
            user.setLabelFor(passreg);
            JLabel label = new JLabel("Enter your username and password to log in: ");
            label.setLabelFor(usernamefield);
            label.setLabelFor(passwordField);
            JComponent buttonPane = createButtonPanel();
            //Lay out everything.
            JPanel textPane = new JPanel(new FlowLayout(FlowLayout.TRAILING));
            textPane.add(reg);
            textPane.add(user);
            textPane.add(pass);
            textPane.add(username);
            textPane.add(passreg);
            textPane.add(label);
            textPane.add(usernamefield);
            textPane.add(passwordField);
            add(textPane);
            add(buttonPane);
        public PasswordDemo() {
              // TODO Auto-generated constructor stub
         protected JComponent createButtonPanel() {
            JPanel p = new JPanel(new GridLayout(0,1));
            JButton okButton = new JButton("OK");
            JButton helpButton = new JButton("Help");
            JButton regButton = new JButton("Register");
            okButton.setActionCommand(OK);
            helpButton.setActionCommand(HELP);
            regButton.setActionCommand(Register);
            okButton.addActionListener(this);
            helpButton.addActionListener(this);
            regButton.addActionListener(this);
            p.add(okButton);
            p.add(helpButton);
            p.add(regButton);
            return p;
        public void actionPerformed (ActionEvent e)
            String cmd = e.getActionCommand();
            if (OK.equals(cmd)) { //Process the password.  
                boolean success=true;                        //Sign In
                 String Username="";
                 String Password="";
                 Username = this.usernamefield.getText();
                 Password = this.passwordField.getText();
                 try
                     success=check2(Username,Password);
                 catch(Exception d)
                      System.out.println("Got out");
                 if(success)
                 JOptionPane.showMessageDialog(controllingFrame, "Sign in Successful");
                 Form F = new Form(Username);
                 F.setVisible(true);
                 else
                 JOptionPane.showMessageDialog(controllingFrame, "Sign in was unsuccessful");     
            else if(HELP.equals(cmd)) { //The user has asked for help.
                JOptionPane.showMessageDialog(controllingFrame,
                    "You can get the password by searching this example's\n"
                  + "source code for the string \"correctPassword\".\n"
                  + "Or look at the section How to Use Password Fields in\n"
                  + "the components section of The Java Tutorial.");
            else if(Register.equals(cmd)) {  //*****************************************************
                 boolean success=true;
                 String Username="";
                 String Password="";
                 Username = this.username.getText();
                 Password = this.passreg.getText();
                 try
                      success=check(Username,Password);
                 catch(Exception d)
                      System.out.println("Something bad happened");
                 if(success)
                 JOptionPane.showMessageDialog(controllingFrame, "Registration successful");
                 else
                 JOptionPane.showMessageDialog(controllingFrame, "Registration was unsuccessful");
        //Must be called from the event dispatch thread.
        protected void resetFocus() {
            passwordField.requestFocusInWindow();
        static void createAndShowGUI() throws Exception {
            //Create and set up the window.
            JFrame frame = new JFrame("Registration Page");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            //Create and set up the content pane.
            final PasswordDemo newContentPane = new PasswordDemo(frame);
            newContentPane.setOpaque(true); //content panes must be opaque
            frame.setContentPane(newContentPane);
            //Make sure the focus goes to the right component
            //whenever the frame is initially given the focus.
            frame.addWindowListener(new WindowAdapter() {
                public void windowActivated(WindowEvent e) {
                    newContentPane.resetFocus();
            //Display the window.
            frame.pack();
            frame.setVisible(true);
        public static void main(String args[]) {
            //Schedule a job for the event dispatch thread:
            //creating and showing this application's GUI.
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    //Turn off metal's use of bold fonts
              UIManager.put("swing.boldMetal", Boolean.FALSE);
              try{
              createAndShowGUI();
                catch(Exception e)
        public void sendUserPass(String user,String pass)throws Exception
             //Send request
             Class.forName("com.mysql.jdbc.Driver");
              Connection con = DriverManager.getConnection("jdbc:mySql://localhost:3306/Contest","root","");
              System.out.println("connected :D:D:D:D");
              PreparedStatement state = con.prepareStatement("Insert Into Contestant (USERNAME,PASSWORD) values ('"+user+"','"+pass+"')");
              state.executeUpdate();
              /*while(Result.next())
                   System.out.println(Result.getString(1)+"\t"+Result.getString(2));
              //server should reply by updating database
        public boolean check(String user,String pass)throws Exception
             //Send request
             Socket Sock = new Socket ("LocalHost",5000);
             DataOutputStream toServer = new DataOutputStream(Sock.getOutputStream());
             BufferedReader buff = new BufferedReader(new InputStreamReader(Sock.getInputStream()));
             String sentence="";
             toServer.writeBytes("1\n");
             sentence=buff.readLine();
             System.out.println(sentence+"\n");
             toServer.writeBytes(user+" "+pass+"\n");
             String answer="";
             answer = buff.readLine();
             if(answer.equals("No"))
                  return false;
             return true;
             /*Class.forName("com.mysql.jdbc.Driver");
              Connection con = DriverManager.getConnection("jdbc:mySql://localhost:3306/Contest","root","");
              System.out.println("connected :D:D:D:D");
              PreparedStatement state = con.prepareStatement("Select Username From Contestant where '"+user+"'= username");
              ResultSet Result = state.executeQuery();
              if(!Result.next())
              return true;*/
              //server should reply by updating database
        public boolean check2(String user,String pass)throws Exception
             Socket Sock = new Socket("localhost",5000);
             DataOutputStream toServer = new DataOutputStream (Sock.getOutputStream());
             BufferedReader buff = new BufferedReader(new InputStreamReader(Sock.getInputStream()));
             toServer.writeBytes("2\n");
             System.out.println("Well I sent the message");
             String sentence = buff.readLine();
             toServer.writeBytes(user+" "+pass+"\n");
             System.out.println(sentence);
             sentence=buff.readLine();
             System.out.println(sentence+"\n");
             if(sentence.equals("No"))
                  return false;
             return true;
    }

    Profile p = Profile();That says "call a method name 'Profile' that's defined in the current class."
    Perhaps what you meant was:
    Profile p = new Profile();which says "create a new instance of the Profile class, and invoke its no-arg constructor."

  • Please Help!!! Problems access other classes methods

    I am having a problem accessing another classes methods varibles. I have tried a number of ways but with no success. Here is my problem:
    I have the main(), from there it's calls the class GetVar(), GetVar stores info in Class HousingForVar(), and finially, I have a class TryinToTalkToHousing() that I use to access HousingForVar()'s methods. I know I can use the keyword new but if I do that then it erases over the data I put in. Please can anyone help, this has been driving me nutz all day. Thank you in advance.
    Roman03
    ***EACH CLASS IS A DIFFERENT FILE****
    public class TestMain
         public static void main( String args[] )
              GetVar getVarible = new GetVar();
              getVarible.heroF();
    import java.util.Scanner;
    public class GetVar
         public void heroF()
              String someEntered;
              Scanner input = new Scanner( System.in);
              System.out.println("Enter a string: ");
              someEntered = input.next();
              HousingForVar houseForData = new HousingForVar(someEntered);
              System.out.printf("Retieved from Class GetVar, you entered: %s\n", houseForData.getCollectVar() );
    import java.util.Scanner;
    public class HousingForVar
         private String getData;
         public HousingForVar(String enterInfo)
              getData = enterInfo;
         public void setGetVar(String enterInfo)
              getData = enterInfo;
         public String getCollectVar()
              return getData;
    import java.util.Scanner;
    public class TryinToTalkToHousing
         public void someMeth()
              String getInfoFromHousing;          
              System.out.printf("Started out at TryinToTalkToHousing Class\n Retieved from Class GetVar from %s\n",
              houseForData.getCollectVar() );
    \* I know this doesn't work, but if I make a new object of the class HousingForVar it's going to write over my input, so what do I do? I am still learning, Please help*\

    I don't use 1.5, so you'll have to convert it back, but see if you can follow the flow of this
    import java.io.*;
    class TestMain
      GetVar getVarible;
      public TestMain()
        getVarible = new GetVar();
        getVarible.heroF();
        System.out.println("******");
        new TryinToTalkToHousing(this).someMeth();
      public static void main(String[] args){new TestMain();}
    class GetVar
      HousingForVar houseForData;
      public void heroF()
        try
          BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
          System.out.print("Enter a string: ");
          String someEntered = br.readLine();
          houseForData = new HousingForVar(someEntered);
          System.out.println("Retieved from Class GetVar, you entered: "+houseForData.getCollectVar()+"\n");
        catch(Exception e){e.printStackTrace();}
    class HousingForVar
      private String getData;
      public HousingForVar(String enterInfo)
        getData = enterInfo;
      public void setGetVar(String enterInfo)
        getData = enterInfo;
      public String getCollectVar()
        return getData;
    class TryinToTalkToHousing
      TestMain parent;
      public TryinToTalkToHousing(TestMain t){parent = t;}
      public void someMeth()
        System.out.println("Started out at TryinToTalkToHousing Class\n"+
        "Retieved from Class GetVar, you entered: "+parent.getVarible.houseForData.getCollectVar()+"\n");
    }

  • Transport classes and programs to another server

    Except for transport routing and charm copy function, do we have other ways to do so?
    for example copy or so forth.
    best regards,
    Blake Le

    Hi Blake
    SAP R/3 Correction and Transport System
    Operating system level files in the transport process:
    The SAP C program TP, requires a special file structure for the transport process. The file system is operating system dependent. TP uses a transport directory or file system, which is called /usr/sap/trans.
    The /usr/sap/trans file system is generally NFS mounted form the development system to other systems unless a system is defined as a single system in the CTS pipeline. All the sub directories should have <SID>adm as the owner and sapsys as the group; and proper read, write and execute access should be given to owner and the group. The TP imports are always performed by <SID>adm.
    The following are the subdirectories in /usr/sap/trans:
    /data
    /cofiles
    /bin
    /log
    /actlog
    /buffer
    /sapnames
    /tmp
    /usr/sap/trans/data: holds the data of transport objects after they are released . The example of a data file is R904073.DEV. The extension DEV means the data file was released from the DEV or development system.
    /usr/sap/trans/cofiles: The cofiles directory holds the command files for all change requests. These files are like a command or control files used to import the data files. The common directory for CTS system is /usr/sap/trans. After a change request is released from the source system , the data is exported immediately to the file system of the operating system. The SAP transport utility TP uses the cofile to transport a data file. The example of a file in cofiles directory is K904073.DEV.
    /usr/sap/trans/bin: holds the most important file TPPARAM in the CTS system. TPPARAM file has all the information about the CTS systems in the CTS pipeline. TPPARAM file is the parameter file for the transport program TP and it is the common file for all the systems in the CTS pipeline. As you know already that /usr/sap/trans should be NFS mounted to all the systems in a CTS pipeline, TP program has access to the TPPARAM file from all the systems. The following is an example of typical TPPARAM file for five SAP systems in the CTS pipeline:
    #@(#) TPPARAM.sap 20.6 SAP 95/03/28
    Template of TPPARAM for UNIX #
    First we specify global values for some parameters, #
    later the system specific incarnation of special parameters #
    global Parameters #
    transdir = /usr/sap/trans/
    dbname = $(system)
    alllog = ALOG$(syear)$(yweek)
    syslog = SLOG$(syear)$(yweek).$(system)
    System spezific Parameters #
    Beispiel T11 #
    DEV/dbname = DEV
    DEV/dbhost = sap9f
    DEV/r3transpath = /usr/sap/DEV/SYS/exe/run/R3trans
    QAS/dbname = QAS
    QAS/dbhost = sap8f
    QAS/r3transpath = /usr/sap/QAS/SYS/exe/run/R3trans
    TRN/dbname = TRN
    TRN/dbhost = sap17
    TRN/r3transpath = /usr/sap/TRN/SYS/exe/run/R3trans
    PRE/dbname = PRE
    PRE/dbhost = sap19f
    PRE/r3transpath = /usr/sap/PRE/SYS/exe/run/R3trans
    PRD/dbname = PRD
    PRD/dbhost = sap18f
    PRD/r3transpath = /usr/sap/PRD/SYS/exe/run/R3trans
    /usr/sap/trans/log: holds the entire log files, trace files and statistics for the CTS system. When the user goes to SE09 (workbench organizer) or SE10 (customizing organizer) transaction and opens the log for a transport, the log file for that transport will be read from /usr/sap/trans/log directory. Each change request should have a log file. Examples of log files are DEVG904073.QAS, DEVI904073.QAS and DEVV904073.QAS. The name of a log file consists of the names of the change request, the executed step, and the system in which the step was executed:
    <source system><action><6 digits>.<target system>
    Now we can analyze the above example DEVG904073. QAS. The <source system> = DEV, <action> = G or report and screen generation, <6 digits> = 904073 (these six digits numbers are exactly the same number as the six digits of the transport) and the <target system> = QAS
    Possible values for <action> are:
    A: Dictionary activation
    D: Import of application-defined objects
    E: R3trans export
    G: Report and screen generation
    H: R3trans dictionary import
    I: R3trans main import
    L: R3trans import of the command files
    M: Activation of the enqueue modules
    P: Test import
    R: Execution of reports after put (XPRA)
    T: R3trans import of table entries
    V: Set version flag
    X: Export of application-defined objects.
    /usr/sap/trans/actlog: holds action log files. The example of an action file is DEVZ902690.DEV. The following are the contents of the file:
    1 ETK220 u201C==================================================u201D u201C=================
    =============================
    1 ETK191 u201C04/30/1998u2033 Action log for request/task: u201CDEVK902690u2033
    1 ETK220 u201C==================================================u201D u201C=================
    =============================
    1 ETK185 u201C04/30/1998 18:02:32u2033 u201CMOHASX01u2033 has reincluded the request/task
    4 EPU120 Timeu2026 u201C18:02:32u2033 Run timeu2026 u201C00:00:00u2033
    1 ETK193 u201C04/30/1998 18:02:33u2033 u201CMOHASX01u2033 owner, linked by u201CMOHASX01u2033 to u201CDEVK902691u2033
    4 EPU120 Timeu2026 u201C18:02:33u2033 Run timeu2026 u201C00:00:00u2033
    1 ETK190 u201C05/04/1998 11:02:40u2033 u201CMOHASX01u2033 has locked and released the request/task
    1 ETK194 u201C05/04/1998 11:02:40u2033 **************** End of log *******************
    4 EPU120 Timeu2026 u201C11:02:40u2033 Run timeu2026 u201C00:00:09u2033
    ~
    ~u201DDEVZ902690.DEVu201D 10 lines, 783 characters
    /usr/sap/trans/buffer: transport buffer of the target systems; contains control information on which requests are to be imported into which systems and in what order the imports must occur. The /usr/sap/trans/buffer will have a directory for each system in the CTS pipeline. For example the buffer file for DEV system is /usr/sap/trans/buffer/DEV.
    /usr/sap/trans/sapnames: holds information pertaining to transport requests for each system user. There are files for each user who released change requests from the system.
    /usr/sap/trans/tmp: holds information about temporary data and log files. While the transport is occurring the Basis administrator can find a file that is related to the transport in the tmp directory; that file shows the exact status if the transport (What objects are being imported at that time).
    Important SAP delivery class and table types and tables in the CTS process:
    Delivery class
    The delivery class defines who (i.e. the SAP system itself or the customer) is responsible for maintaining the table contents. In addition the delivery class controls how the table behaves in a client copy and an upgrade. For example when you select a SAP defined profiles to perform a client copy, certain tables are selected according to their delivery class. DD02L table can show what delevery class a table belongs to.
    The following delivery classes exist:
    A: Application table.
    C: Customizing table, maintenance by customer only.
    L: Table for storing temporary data.
    G: Customizing table, entries protected against overwriting.
    E: Control table.
    S: System table, maintenance only by SAP.
    W: System table, contents can be transported via own TR objects.
    Table type
    The table type defines whether a physical table exists for the logical table description defined in the ABAP/4 Dictionary and how the table is stored on the database.
    The following are different table types in SAP:
    Transparent Tables
    There is a physical table on the database for each transparent table. The names of the physical table and the logical table definition in the ABAP/4 Dictionary are same. For every transparent table in SAP, there is a table in database. The business and application data are stored in transparent tables.
    Structure
    No data records exist on the database for a structure. Structures are used for the interface definition between programs or between screens and programs.
    Append Structure
    An Append structure defines a subset of fields which belong to another table or structure but which are treated as a separate object in the correction management. Append structures are used to support modifications.
    The following table types are used for internal purposes, for example to store control data or for continuous texts:
    Pooled table
    Pooled tables can be used to store control data (e.g. screen sequences, program parameters or temporary data). Several pooled tables can be combined to form a table pool. The table pool corresponds to a physical table on the database in which all the records of the allocated-pooled tables are stored.
    Cluster table
    Cluster tables contain continuous text, for example documentation. Several cluster tables can be combined to form a table cluster. Several logical lines of different tables are combined to form a physical record in this table type. This permits object-by-object storage or object-by-object access. In order to combine tables in clusters, at least part of the keys must agree. Several cluster tables are stored in one corresponding table on the database.
    Tables in CTS process:
    TRBAT and TRJOB:
    TRJOB and TRBAT are the major tables in the CTS process. After TP program has sent the event to the r3 system, RDDIMPDP checks table TRBAT in the target system to find out if there is an action to be performed. Mass activation, distribution, or table conversions are the examples of actions. If there is action to be performed, RDDIMPDP starts the appropriate program in the background task. RDDIMPDP then reschedules itself.
    By checking table TRJOB, RDDIMPDP automatically recognizes if a previous step was aborted, and restarts this step. For each transport request , TP program inserts an entry into table TRBAT. If the return code 9999 in this table then the step is waiting to be performed. Return code 8888 indicates that the step is active and currently being processed. A return code of 12 or less indicates that the step is finished. In addition, TP inserts a header entry to let the RDDIMPDP program know to start processing. The column return code will therefore contain a B for begin. When RDDIMPDP is started, it sets the header entry to R(un), and starts the required program. When all the necessary actions are performed for all the transport requests, the column return code contains all the return codes received, and the column TIMESTAMP contains the finishing time. The header entry is set to F(inished). TP monitors the entries in TRBAT and TRJOB tables. When the header entry in TRBAT is set to finished. The entry in TRJOB is deleted.
    Transport Tables SE06
    TDEVC - Development classes
    TASYS - Details of the delivery. Systems in the group that should automatically receive requests, have to be specified in table TASYS.
    TSYST - The transport layers will be assigned to the integration systems. ( Define all systems)
    TWSYS - Consolidation routes ( define consolidation path)
    DEVL - Transport layers are defined here
    In u201CConfiguring the CTS systemu201D section, We will learn more about the transport tables in SE06 transaction
    Programs in the CTS process:
    In the CTS table section we learned about the RDDIMPDP program. RDDIMPDP program needs to be scheduled in all the clients in an instance. It is recommended to schedule the RDDIMPDP as event driven.
    RDDPUTPP and RDDNEWPP programs can be used to schedule RDDIMPDP program in the background.
    The ABAP/4 programs that RDDIMPDP starts are determined by the transport step to be executed that is entered in the function field of table TRBAT.
    Function Job Name Description of transport Steps
    J RDDMASGL Activation of ABAP/4 dictionary objects
    M RDDMASGL Activation of match codes and lock objects
    S RDDDISOL Analysis of database objects to be converted
    N RDDGENOL Conversion of database objects
    Y RDDGENOL Conversion of matchcode tables
    X RDDDICOL Export of AD0 objects
    D RDDDIC1L Import of AD0 objects
    E RDDVERSE Version management update during export
    V RDDVERSL Version management update during import
    R RDDEXECL Execution of programs for post - import processing
    G RDDDIC3L Generation of ABAP/4 programs and screens
    Version Management:
    One of the important features of Workbench Organizer is Version Management. This feature works for all the development objects. Using the version management feature the users can compare and retrieve previous versions of objects.
    Version management provides for comparisons, restore of previous versions, documentation of changes and assistance in the adjustment of data after upgrading to a new release. With the release of a change request, version maintenance is automatically recorded for each object. If an object in the system has been changed N times, it will have N delta versions and one active version. To display version management, for ABAPs use transaction SE38 and for tables, domains and data elements use SE11. The path to follow is Utilities -> Display version. Using version management the users can view existing version for previously created ABAP code, make changes to the code, compare code versions and restore original version of the code. Now the users will be restore previous versions without cut and paste steps of the past.
    TP and R3trans program:
    The basis administrator uses TP program to transport SAP objects from one system to another. TP is a C program delivered by SAP that runs independently of the R/3 system. TP program uses the appropriate files located in a common transport directory /usr/sap/trans. TP starts C programs, ABAP/4 programs and special operating system commands to its job. R3trans is one of the most important utility program called by TP. Before using the TP program, the basis administrator needs to make sure that the CTS system is setup properly and the right version of TP is running in the system. The TP program is located in the run time directory /usr/sap/<SID>/SYS/exe/run directory. It is automatically copied in the install process. A global parameter file TPPARAM that contains the databases of the different target systems and other information for the transport process controls TP. The global parameter file determines which R3trans is used for each system. If the parameter r3transpath is not defined properly then no export and import can be done. The basis administrator should make sure that the default value u201Cr3transpathu201D is properly defined. Later in this chapter we will learn more about TP and R3trans; also we are going to see how they are used.
    Configuring the TPPARAM file:
    Each time TP is started, it must know the location of the global parameter file. As we have seen before TPPARAM file should be in directory /usr/sap/trans/bin. The parameters in TPPARAM can either global (valid for each and every system in the cts pipeline) or local to one system. Th parameters are either operating system dependant (these parameters preceded by a keyword corresponding to the specific operating system) or database dependant (contain a keyword corresponding to a specific database system).
    The global parameter file provides variables that can be used for defining parameters. The variables can be defined in format: $(xyz). The brackets can be substituted with the u201C\u201D-character if required.
    The following pre-defined variables are available for the global parameter file:
    $(cpu1): The CPU name can be sun or as4 for example. In heterogeneous networks this variable is very important.
    $(cpu2): Acronym for the name of the operating system. The example for this variable can be
    hp-ux, or sunos . This is an operating system specific variable.
    $(dname): Used for the day of the week (SUN,MON,u2026.).
    $(mday): Used for the day of the current month (01-31).
    $(mname): Used for the name of the month (JANu2026DEC).
    $(mon): Used for the Month (01-12).
    $(system): R/3 System name.
    $(wday): Day of the week (00-06, Sunday=00, Monday=01, Tuesday=02 and so on).
    $(yday): Day of the current year (001-366). Using the number any day of the year can be chosen.
    $(year): Year (Example:1998 or 1999).
    $(syear): Short form of the year (two positions).
    $(yweek): Calendar week (00-53). The first week begins with the first Sunday of the year.
    For the database connection:
    The transport environment also needs parameters to connect to the R/3 System database. As we know already the every instance in the R/3 CTS pipeline has its own database, therefore specific parameters should be defined for each database system. From dbtype parameter of RSPARAM file, TP program identifies the database system.
    The two parameters u201Cdbnameu201D and u201Cdbhostu201D are required for ORACLE databases.
    DBHOST: is the name of the computer on which the database processes execute. TCP/IP name of the host if NT is being used.
    DBNAME: is the name of the database instance.
    As of Release 3.0E, two new parameters have been introduced.
    DBLOGICALNAME: The default value is $(system). The logical name that was used to install the database.
    DBCONFPATH: The default value is $(transdir).
    The parameters u201Cdbnameu201D and u201Cdbhostu201D are also used for INFORMIX databases in an installation:
    DBHOST: Same as Oracle.
    DBNAME: Name of the database instance, uppercase and lowercase are distinguished here.
    INFORMIXDIR : u201C/informix/<SAPSID>u201D is the default value. Defines the directory namewhere the database software can be found.
    INFORMIXSQLHOSTS: u201C$(informixdir)/etc/sqlhosts[.tli|.soc]u201Cis default value under Unix. The name of the SQLhosts file with its complete path is defined with this parameter.
    INFORMIX_SERVER: u201C$(dbhost)$(dbname)shmu201D is the default value. The name of the database server may be specified for a local connect.
    INFORMIX_SERVERALIAS: u201C$(dbhost)$(dbname)tcpu201Dis the default vlue. The name of the database server can be specified for a remote connect.
    For Microsoft SQL Server database the two parameters u201Cdbnameu201D and u201Cdbhostu201D are also required. DBHOST: The TCP/IP name of the host on which the database is running.
    DBNAME: The database instance name.
    For DB2 in AS/400 only u201Cdbhostu201D is required.
    DBHOST: System name of the host on which the database is running.
    If theu201DOptiConnectu201D is used, the following line should be specified:
    OPTICONNECT 1
    For DB2/ AIX
    The two parameters u201Cdbnameu201D and u201Cdbhostu201D are required
    DBHOST: The host on which the database processes are running. It is the TCP/IP name of the host for Windows NT (As we have seen in the earlier examples).
    DBNAME: Database instance name.
    The DB2 for AIX Client Application Enabler Software must also be installed on the host on which tp is running.
    ALLLOG: u201CALOGu201D $(syear) $(yweek)u201Dis the default value. This variable can be used in TPPARAM file to specify the name of a file in which tp stores information about every transport step carried out for a change request anywhere in the transport process. The file always resides in the log directory.
    SYSLOG: u201CSLOG $(syear) $(yweek).$(system)u201D is the default value. This variable can be used to name a file in which tp stores information about the progress of import actions in a certain R/3 System. The file does not store information for any particular change request. The file always resides in the log directory.
    tp_VERSION: Zero is the default value. If this parameter is set to not equal to zero, a lower version of tp may not work with this TPPARAM file. If the default value (zero) is set, the parameter has no affect.
    STOPONERROR: (Numeric value) The default value is 9. When STOPONERROR is set to zero, tp is never stopped in the middle of an u201Cimportu201D or u201Cputu201D call. When STOPONERROR is set to a value greater than zero, tp stops as soon as a change request generates a return code that is equal to or greater than this value (The numeric value of the STOPONERROR parameter is stored in the variable BADRC). Change requests, which still have to be processed for the current step, are first completed. A u201CSYNCMARKu201D in the buffer of the R/3 System involved, sets a limit here. tp divides the value of this parameter between two internal variables. STOPONERROR itself is treated as a boolean variable that determines whether tp should be stopped, if the return code is too high.
    REPEATONERROR (Numeric value too): The default value is 9. The REPEATONERROR parameter is similar to STOPONERROR. The difference is, REPEATONERROR specifies the return code up to which a change request is considered to be successfully processed. Return codes less than REPEATONERROR are accepted as u201Cin Orderu201D. Change requests that were not processed successfully stay in the buffer.
    NEW_SAPNAMES: Default value is u201CFALSEu201D. A file is created for each user of the R/3 System group in the u201Csapnamesu201D subdirectory of the transport directory. Except some of the operating system,the name of the user is the name of the file. It is very important to remember hat the special characters or length of the file name could cause problems. If all the R/3 Systems in the transport group have at least Release level 3.0.; TP program is efficient to handle this problem. The user names are modified to create file names that are valid in all operating systems and the real user names are stored in a corresponding file.
    Though we have seen so many parameters, for the minimum configuration the following two parameters are very important.
    TRANSDIR: specifies the name of the common transport directory. The following is a typical example from TPPARAM of Unix as we have seen before.
    transdir = /usr/sap/trans/
    DBHOST: contains the name of the database host. In Windows NT environment, this is the TCP/IP host name. The following is an example in Unix:
    DEV/dbname = DEV
    DEV/dbhost = sap9f
    DEV/r3transpath = /usr/sap/DEV/SYS/exe/run/R3trans
    For TP, to control u2018Start and Stopu2019 command files and database in R/3 the following important parameters are specified in TPPARAM:
    Parameters for the tp Function u201CPUTu201D: LOCK_EU (boolean) default value is u201CTRUEu201D. Though from version 3.1 onward the tp put command is used seldom in cts process still it is important to know how this parameter works. When u201Ctp putu201D is used, it changes the system change option . If the parameter is set to u201CFALSEu201D nothing gets changed. If the parameter is set to u201CTRUEu201D, the system change option is set to u201CObjects cannot be changedu201D at the beginning of the call, and gets changed back to its previous value at the end of the call. The u201Ctp putu201D command will give the exact status of the locking mechanism.
    LOCKUSER (used as boolean value): Default value is u201CTRUEu201D. This parameter is about the user login while tp put call is executed. If this parameter is set to u201CFALSEu201D, no locking mechanism for the users takes affect. If this parameter is defined as u201CTRUEu201D then a character is set in the database level; so only DDIC and SAP* can log on to the system. Users that have already logged on are not affected (this is a reason for activating the parameters STARTSAP and STOPSAP). The charactertor is removed at the end of the call, and all the users can log on to the SAP R/3 System again.
    STARTSAP: Default value is u201D u201C.or u201CPROMPTu201D for Windows NT . This parameter is used by TP to start an R/3 System. It is not necessary for the clients to make tp start and stop R/3 system..
    STOPSAP: Default value is u201D u201Cor u201CPROMPTu201D for Windows NT. TP uses this parameter to stop an R/3 System.
    STARTDB: Default value is u201D u201C. TP uses the value of this parameter to start the database of an R/3 System.
    The parameter is not active under Windows NT.
    STOPDB: Default value is u201D u201C. TP uses the value of this parameter to stop the database of an R/3 System.
    This parameter is not active under Windows NT.
    The above parameters in UNIX can be used as following:
    STARTSAP = startsap R3
    STOPSAP = stopsap R3
    STARTDB = startsap db
    STOPDB = stopsap db
    In Windows NT:
    STARTSAP =
    $(SAPGLOBALHOST)\sapmnt\$(system)\sys\exe\run\startsap.exe
    R3 <SID> <HOST NAME> <START PROFILE>
    STOPSAP =
    $(SAPGLOBALHOST)\sapmnt\$(system)\sys\exe\run\stopsap.exe
    R3 <SID> <HOST NAME> <INSTANCE> <PROFILE PATH + Instance profile>
    The parameters STARTDB and STOPDB are not active under Windows NT.
    Parameters for the tp function u201CCLEAROLDu201D
    DATALIFETIME (Numeric): Default value is u201C200u2033. When the data file has reached a minimum age, it is moved to the subdirectory old data with tp check. tp clearold all. The life span of the data files in the data sub directory can be set in days with this all, parameter.
    OLDDATALIFETIME (Numeric): Default value is u201C365u2033. When a file located in the olddata subdirectory is no longer needed for further actions of the transport system and has reached a minimum age, it is removed with tp check.all, tp clearold all. The minimum age in days can be set with this parameter.
    COFILELIFETIME (Numeric): Default value is u201C365u2033. This parameter is used just like DATALIFETIME parameter.
    LOGLIFETIME (Numeric): Default value is u201C200u2033. This parameter applies to the life span of the log files. When the log files in log subdirectory is no longer needed for the transport system and has reached a minimum age, it is deleted with the calls tp check.all, tp clearold all. The minimum age in days can be defined with this parameter.
    The Three Key Utilities of the CTS system (TP, R3trans and R3chop):
    TP: Earlier in this chapter we have seen the objectives of TP. The TP transport control program is a utility program that helps the user to transport objects from one system to another. TP program is the front-end for the utility R3trans. TP stands for u201CTransports and Putsu201D. To make the TP work successfully the CTS system needs to be correctly configured. The following steps are very important for TP to run properly.
    The transport directory /usr/sap/trans must be installed and NFS mounted to all the systems in the CTS pipe line.
    RDDIMPDP program must be running (event driven is recommended) in each client. RDDIMPDP can be scheduled in the background by executing RDDNEWPP or RDDPUTPP. Use the tp checkimpdp <sap sid> command in /usr/sap/trans/bin directory as <sid>adm user to check RDDIMPDP program.
    Use the tp connect <sap sid> command in /usr/sap/trans/bin directory to see whether the tp program is connecting to the database successfully or not. To run TP command the user has to logon as <sid>adm in source or target system.
    The R/3 Systems in the CTS pipeline must have different names.
    The Global CTS Parameter File TPPARAM must be correctly configured.
    The source system (for the export) and target system ( for the import) must have at least two background work processes. TP always schedules the C class job, so if all the background jobs are defined as A class job then there will be problems in transport steps.
    Important Tips :.It is always better to have the up to date TP version installed in your system. A user can ftp a current version of TP from SAPSERV4 of SAP. Though R3trans and other utility programs can be used to do the transport, it is recommended to use TP whenever possible for the following reasons..
    The exports and imports are done separately using TP program. For example: when a transport is released from the system, the objects are exported from the source database to the operating system and then the import phase starts to transport those objects to the target system.
    TP takes care of the order of the objects. The order, that was followed to export the objects; the same order will be followed to import them to the target database.
    The TP command processes all change requests or transports in the SAP system buffer that have not yet been imported successfully. All the import steps are executed automatically after TP calls R3trans program to execute the following necessary steps:
    Dictionary Import: ABAP/4 dictionary objects will be imported in this step.
    Dictionary Activation: Name tabs or runtime descriptions will be written inactively. The R/3 system keeps running until the activation phase is complete. The enqueue modules are the exceptions in the running phase. After the activation of new dictionary structure the new actions are decided to get the runtime objects to the target system.
    Structure conversion: If necessary the table structure is changed in this phase.
    Move Nametabs: The new ABAP/4 Dictionary runtime objects which were inactive up to now are moved into the active runtime environment in this process. The database structures are adjusted accordingly. From the first step to the Main import step inconsistencies can occur to the R/3 system. After the main import phase all the inconsistency ca be solved.
    Main import with R3trans: All the data are imported completely and the system comes to a consistent state.
    Activation of enqueue-objects: The enqueue-objects cannot be activated in the same way as the objects of the ABAP/4 Dictionary, so they have to be activated after the main import in this step. They are then used directly in the running system.
    Structure Conversion of match codes, Import application defined objects, versioning and execution of user defined activities are some of the steps after activation of enqueue-objects. The next step is generation of ABAP/4 programs and screens, where all the programs and screens associated with the change request are generated. When all the import steps are completed successfully, the transport request is removed from the import buffer.
    It is recommended by SAP to schedule regular periods for imports into the target system (e.g. daily, weekly or monthly). Shorter periods between imports are not advisable. The transport to production should not be done in the off hours when the users are not working
    TP can be started with different parameters. The u201Ctp helpu201D command can help user to generate a short description about the use of the command.
    The following are the some important commands of TP:
    For export:
    tp export <change request>: The complete objects in the request from the source system will be transported. This command also used by SAP System when it releases a request.
    tp r3e <change request>: R3trans export of one transport request.
    tp sde <change request>: Application defined objects in one transport request can be exported.
    tp tst <change request> <SAP system >: The test import for transport request can be done using this command.
    tp createinfo <change request>: This command creates a information file that is automatically done during the export.
    tp verse <request>: This command creates version creates versions of the objects in the specified request.
    To Check the transport buffer, global parameter file and change requests:
    tp showbuffer <sid>: Shows all the change requests ready to be imported to the target system.
    tp count <sid>: Using this command users can find out the number of requests in the buffer waiting for import.
    tp go <sid>: This command shows the environment variables needed for the connection to the database of the <sid> or target system.
    tp showparams <sid>: All the values of modifiable tp parameters in the global parameter file. The default value is shown for parameters that have not been set explicitly.
    To import the change requests or transports:
    tp addtobuffer <request>.<sid>: If a change request is not in the buffer then this command is used to add it to the buffer, before the import step starts.
    tp import all <sid>: This command imports all the change requests from the buffer to the target system.
    tp put <sid>: The objective of this command is same as u201Ctp import all <sid>u201D, but this command locks the system. This command also starts and stops the SAP system, if the parameters startsap and stopsap parameters are not set to u201D u201C.
    tp import <change request> <sid>: To import a single request from the source system to target system.
    tp r3h <change request>| all <sid>: Using this command user can import the dictionary structures of one transport or all the transport from the buffer.
    tp act <change request>|all <sid>: This command activates all the dictionary objects in the change request.
    tp r3i <change request> | all <sid>: This command imports everything but dictionary structures of one.
    tp sdi <change request>|all <sid>: Import application-defined objects.
    tp gen <change request>|all <sid>: Screen and reports are generated using this command.
    tp mvntabs <sid>: All inactive nametabs will be activated with this command.
    tp mea <change request>|all <sid>: This command will activate the enqueue modules in the change request.
    When you call this command, note the resulting changes to the import sequence.
    Additional tp utility options:
    tp check <sid>|all (data|cofiles|log|sapnames|verbose): User uses this command to find all the files in the transport directory that are not waiting for imports and they have exceeded the minimum time specified using the COFILELIFETIME, LOGFILELIFETIME, OLDDATALIFETIME and DATALIFETIME parameters of TPPARAM file.
    tp delfrombuffer <request>.<sid>: This command removes a single change request from the buffer. In case of TMS, the request will be deleted from the import queue.
    tp setstopmark <sid>: A flag is set to the list of requests ready for import into the target system. When the user uses the command tp import all <sapsid> and tp put <sapsid>, the requests in front of this mark are only processed. After all the requests in front of the mark have been imported successfully, the mark is deleted.
    tp delstopmark <sid>: This command deletes the stop mark from the buffer if it exists.
    tp cleanbuffer <sapsid>: Removes all the change requests from the buffer that are ready for the import into the target system.
    tp locksys <sid>: This command locks the system for all the users except SAP* and DDIC. The users that have already logged on are not affected by the call.
    tp unlocksys <sid>: This command unlocks the system for all the users.
    tp lock_eu <sid>: This command sets the system change option to u201Csystem can not be changedu201D tmporarily.
    tp unlock_eu <sid>: This command unlocks the system for all the changes.
    tp backupall <sid>: This command starts a complete backup using R3trans command. It uses /usr/sap/trans/backup directory for the backup.
    tp backup delta <sid>: Uses R3trans for a delta backup into /usr/sap/trans/backup directory.
    tp sapstart <sid>: To start the R/3 system.
    tp stopsap <sid>: To stop the R/3 system.
    tp dbstart <sid>: To start the database.
    tp dbstop <sid>: To stop the database.
    Unconditional modes for TP: Unconditional modes are used with the TP program and these modes are intended for the special actions needed in the transport steps. Using unconditional mode user can manipulate the rules defined by the workbench organizer. The unconditional mode should be used when needed, otherwise it might create problems for the R/3 system database. Unconditional mode is used after the letter u201CUu201D in the TP command. Unconditional mode can be a digit between 0 to 9 and each has a meaning to it. The following is a example of a import having unconditional mode.
    tp import devk903456 qas client100 U12468
    0: Called a overtaker; change request can be imported from buffer without deleting it and then uncoditional mode 1 is used to allow another import in the correct location.
    1: If U1 is used with the export then it ignores the correct status of the command file; and if it is used with import then it lets the user import the same change request again.
    2: When used with tp export, it dictates the program to not to expand the selection with TRDIR brackets. If used in tp import phase, it overwrites the originals.
    3: When used with tp import, it overwrites the system-dependant objects.
    5: During the import to the consolidation system it permits the source systems other than the integration system.
    6: When used in import phase, it helps to overwrite objects in unconfirmed repairs.
    8: During import phase it ignores the limitations caused by the table classification.
    9: During import it ignores that the system is locked for this kind of transport.
    R3trans: TP uses R3trans program to transport data from one system to another in the CTS pipeline. efficient basis administrator can use R3trans directly to export and import data from and into any SAP systems. Using this utility transport between different database and operating system can e done without any problems. Different versions of R3trans are fully compatible with each other and can be used for export and import. The basis administrator has to be careful using R3trans for different release levels of R/3 software; logical inconsistency might occur if the up to date R3trans is not used for the current version of R/3 system.
    The syntax for using the control file is following:
    R3trans [<options>] <control file> (several options used at the same time; at least one option must be there)
    For example: R3trans u2013u 1 u2013w test.log test
    In the above example a unconditional mode is used, a log file u201Ctest.logu201D file is used to get the log result and a control file u201Ctestu201D, where the instructions are given for the R3trans to follow. The user needs to logon as <sid>adm to execute R3trans.
    The following options are available for the R3trans program:
    R3trans -d : This command is used to check the database connection .
    R3trans -u <int>: Unconditional mode can be used as we have seen in the above example.
    R3trans -v : This is used for verbose mode. It writes additional details to the log file
    R3trans -i <file>: This command directly imports data from data file without a control file.
    R3trans -l <file>: This provides output of a table of contents to the log file.
    R3trans -n : This option provides a brief information about new features of R3trans.
    R3trans u2013t: This option is used for the test mode. All modifications in the database are rolled back.
    R3trans -c <f1> [<f2>]: This command is used for conversion. The <f1> file will be copied to <f2> file after executing a character set conversion to the local character set.
    Important tips: Do not confuse the backup taken using R3trans with database backup. The backups taken using R3trans are logical backups of objects. In case something happens to the SAP system these backups can not be used for recovery. R3trans backups can be only used to restore a copy of a particular object that has been damaged or lost by the user.
    R3trans -w <file>: As we have seen in the above example this option can be used to write to a log file. If no file is mentioned then trans.log is default directory for the log.
    R3trans also can be used for the database backup.
    R3trans u2013ba: This command is used for a complete backup. we will see in the next paragraph how to use
    the control file for the backup.
    R3trans u2013bd: This command is used for a delta backup if the user does not want a complete backup.
    R3trans u2013bi: This option will display backup information.
    The following are some of the examples of control files:
    We have already learned how to use a command for the logical backup of the objects in the database. To get a complete backup the following example control file can be used.
    backup all
    file = /usr/sap/trans/backall
    The option u201Cfile = u2026u201D is the name of the directory into which the data files are to be written. If you are taking a complete backup of DEV system then the backup file is going to look like u201CDEV.A000.bcku201D the next complete
    Reward if useful
    Regards
    divya

  • Accessing a variable defined in one class from another class..

    Greetings,
    I've only been programming in as3 for a couple months, and so far I've written several compositional classes that take MovieClips as inputs to handle behaviors and interactions in a simple game I'm creating. One problem I keep coming upon is that I'd love to access the custom variables I define within one class from another class. In the game I'm creating, Main.as is my document class, from which I invoke a class called 'Level1.as' which invokes all the other classes I've written.
    Below I've pasted my class 'DieLikeThePhishes'. For example, I would love to know the syntax for accessing the boolean variable 'phish1BeenHit' (line 31) from another class. I've tried the dot syntax you would use to access a MovieClip inside another MovieClip and it doesn't seem  to be working for me. Any ideas would be appreciated.  Thanks,
    - Jeremy
    package  jab.enemy
    import flash.display.MovieClip;
    import flash.events.Event;
    import jab.enemy.MissleDisappear;
    public class DieLikeThePhishes
    private var _clip2:MovieClip; // player
    private var _clip3:MovieClip; //phish1
    private var _clip4:MovieClip; //phish2
    private var _clip5:MovieClip; //phish3
    private var _clip6:MovieClip; //phish4
    private var _clip10:MovieClip; // background
    private var _clip11:MovieClip // missle1
    private var _clip12:MovieClip // missle2
    private var _clip13:MovieClip // missle3
    private var _clip14:MovieClip // missle4
    private var _clip15:MovieClip // missle5
    private var _clip16:MovieClip // missle6
    private var _clip17:MovieClip // missle7
    private var _clip18:MovieClip // missle8
    private var _clip19:MovieClip // missle9
    private var _clip20:MovieClip // missle10
    private var _clip21:MovieClip // missle11
    private var _clip22:MovieClip // missle12
    var ay1 = 0;var ay2 = 0;var ay3 = 0;var ay4 = 0;
    var vy1 = 0;var vy2 = 0;var vy3 = 0;var vy4 = 0;
    var phish1BeenHit:Boolean = false;var phish2BeenHit:Boolean = false;
    var phish3BeenHit:Boolean = false;var phish4BeenHit:Boolean = false;
    public function DieLikeThePhishes(clip2:MovieClip,clip3:MovieClip,clip4:MovieClip,clip5:MovieClip,clip6:M ovieClip,clip10:MovieClip,clip11:MovieClip,clip12:MovieClip,clip13:MovieClip,clip14:MovieC lip,clip15:MovieClip,clip16:MovieClip,clip17:MovieClip,clip18:MovieClip,clip19:MovieClip,c lip20:MovieClip,clip21:MovieClip,clip22:MovieClip)
    _clip2 = clip2;_clip3 = clip3;_clip4 = clip4;_clip5 = clip5;_clip6 = clip6;
    _clip10 = clip10;_clip11 = clip11;_clip12 = clip12;_clip13 = clip13;_clip14 = clip14;
    _clip15 = clip15;_clip16 = clip16;_clip17 = clip17;_clip18 = clip18;_clip19 = clip19;
    _clip20 = clip20;_clip21 = clip21;_clip22= clip22;
    _clip3.stage.addEventListener(Event.ENTER_FRAME, onEnterFrame)
    function onEnterFrame(event:Event):void
    vy1+= ay1;_clip3.y += vy1; vy2+= ay2;_clip4.y += vy2;
    vy3+= ay3;_clip5.y += vy3; vy4+= ay4;_clip6.y += vy4;
    if (phish1BeenHit ==false)
    if(_clip3.y >620)
    {_clip3.y = 620;}
    if (phish2BeenHit ==false)
    if(_clip4.y >620)
    {_clip4.y = 620;}
    if (phish3BeenHit ==false)
    if(_clip5.y >620)
    {_clip5.y = 620;}
    if (phish4BeenHit ==false)
    if(_clip6.y >620)
    {_clip6.y = 620;}
    if (_clip11.hitTestObject(_clip3) ||_clip12.hitTestObject(_clip3)||_clip13.hitTestObject(_clip3)||_clip14.hitTestObject(_cl ip3)||_clip15.hitTestObject(_clip3)||_clip16.hitTestObject(_clip3)||_clip17.hitTestObject( _clip3)||_clip18.hitTestObject(_clip3)||_clip19.hitTestObject(_clip3)||_clip20.hitTestObje ct(_clip3)||_clip21.hitTestObject(_clip3)||_clip22.hitTestObject(_clip3))
    _clip3.scaleY = -Math.abs(_clip3.scaleY);
    _clip3.alpha = 0.4;
    ay1 = 3
    vy1= -2;
    phish1BeenHit = true;
    if (_clip11.hitTestObject(_clip4) ||_clip12.hitTestObject(_clip4)||_clip13.hitTestObject(_clip4)||_clip14.hitTestObject(_cl ip4)||_clip15.hitTestObject(_clip4)||_clip16.hitTestObject(_clip4)||_clip17.hitTestObject( _clip4)||_clip18.hitTestObject(_clip4)||_clip19.hitTestObject(_clip4)||_clip20.hitTestObje ct(_clip4)||_clip21.hitTestObject(_clip4)||_clip22.hitTestObject(_clip4))
    _clip4.scaleY = -Math.abs(_clip4.scaleY);
    _clip4.alpha = 0.4;
    ay2 = 3
    vy2= -2;
    phish2BeenHit = true;
    if (_clip11.hitTestObject(_clip5) ||_clip12.hitTestObject(_clip5)||_clip13.hitTestObject(_clip5)||_clip14.hitTestObject(_cl ip5)||_clip15.hitTestObject(_clip5)||_clip16.hitTestObject(_clip5)||_clip17.hitTestObject( _clip5)||_clip18.hitTestObject(_clip5)||_clip19.hitTestObject(_clip5)||_clip20.hitTestObje ct(_clip5)||_clip21.hitTestObject(_clip5)||_clip22.hitTestObject(_clip5))
    _clip5.scaleY = -Math.abs(_clip5.scaleY);
    _clip5.alpha = 0.4;
    ay3 = 3
    vy3= -2;
    phish3BeenHit = true;
    if (_clip11.hitTestObject(_clip6) ||_clip12.hitTestObject(_clip6)||_clip13.hitTestObject(_clip6)||_clip14.hitTestObject(_cl ip6)||_clip15.hitTestObject(_clip6)||_clip16.hitTestObject(_clip6)||_clip17.hitTestObject( _clip6)||_clip18.hitTestObject(_clip6)||_clip19.hitTestObject(_clip6)||_clip20.hitTestObje ct(_clip6)||_clip21.hitTestObject(_clip6)||_clip22.hitTestObject(_clip6))
    _clip6.scaleY = -Math.abs(_clip6.scaleY);
    _clip6.alpha = 0.4;
    ay4 = 3
    vy4= -2;
    phish4BeenHit = true;
    if (_clip3.y > 10000)
    _clip3.x = 1000 +3000*Math.random()-_clip10.x;
    _clip3.y = 300;
    _clip3.alpha = 1;
    _clip3.scaleY = Math.abs(_clip3.scaleY);
    ay1 = vy1 = 0;
    phish1BeenHit = false;
    if (_clip4.y > 10000)
    _clip4.x = 1000 +3000*Math.random()-_clip10.x;
    _clip4.y = 300;
    _clip4.alpha = 1;
    _clip4.scaleY = Math.abs(_clip4.scaleY);
    ay2 = vy2 = 0;
    phish2BeenHit = false;
    if (_clip5.y > 10000)
    _clip5.x = 1000 +3000*Math.random()-_clip10.x;
    _clip5.y = 300;
    _clip5.alpha = 1;
    _clip5.scaleY = Math.abs(_clip5.scaleY);
    ay3 = vy3 = 0;
    phish3BeenHit = false;
    if (_clip6.y > 10000)
    _clip6.x = 1000 +3000*Math.random()-_clip10.x;
    _clip6.y = 300;
    _clip6.alpha = 1;
    _clip6.scaleY = Math.abs(_clip6.scaleY);
    ay4 = vy4 = 0;
    phish4BeenHit = false;
    var missleDisappear1 = new MissleDisappear(_clip11,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear2 = new MissleDisappear(_clip12,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear3 = new MissleDisappear(_clip13,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear4 = new MissleDisappear(_clip14,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear5 = new MissleDisappear(_clip15,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear6 = new MissleDisappear(_clip16,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear7 = new MissleDisappear(_clip17,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear8 = new MissleDisappear(_clip18,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear9 = new MissleDisappear(_clip19,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear10 = new MissleDisappear(_clip20,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear11 = new MissleDisappear(_clip21,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear12 = new MissleDisappear(_clip22,_clip3,_clip4,_clip5,_clip6,_clip10);

    I would approach it in much the same way as you would in java, by making getters and setters for all of your class variables.
    Getters being for returning the values, Setters being for setting them.
    So you would make a get function for the variable you want to access ala:
    function get1PhishBeenHit():boolean {
         return this.phish1BeenHit;
    Then to access the value of that variable from outwith the class:
    var result:boolean = ClassInstanceName.get1PhishBeenHit();

  • Accessing an Array List from another class

    Hi, I was a member on here before, but I forgot my password and my security question is wrong.
    My question is how do I access a private arraylist from a different class in the same package?
    What I am trying to do is the following (hard to explain).
    Make a picking client for a shop, so that when an order is recieved, the picker can click on the orders button, and view all of the current orders that have not been completed. This Pick client has its own user interface, in a seperate class from where the BoughtList array is created, in the cashier client. The boughtlist is created when the cashier puts in the product number into the cashier client and clicks buy. I seem to be having trouble accessing the list from another class. Once the order is completed the cashier clicks bought and the list is reset. There is another class in a different pagage that processes some of the functions of the order, eg newOrder().
    Yes it is for Uni so I dont need / want the full answers, jist something to get started. Also please dont flame me, I have done many other parts of this project, just having trouble getting started on this one.
    Here is the code for the cashier client. The code for the Pick client is almost the same, I just need to make the code that displays the orders.
    package Clients;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.text.NumberFormat;
    import java.util.Locale;
    import Catalogue.*;
    import DBAccess.*;
    import Processing.*;
    import Middle.*;
    class CashierGUI 
      class STATE                             // Cashier states
        public static final int PROCESS  = 0;
        public static final int CHECKED  = 1;
      class NAME                             // Names of buttons
        public static final String CHECK  = "Check";
        public static final String BUY    = "Buy";
        public static final String CANCEL = "Cancel";
        public static final String BOUGHT = "Bought";
      private static final int H = 300;       // Height of window pixels
      private static final int W = 400;       // Width  of window pixels
      private JLabel      theAction  = new JLabel();
      private JTextField  theInput   = new JTextField();
      private JTextArea   theOutput  = new JTextArea();
      private JScrollPane theSP      = new JScrollPane();
      private JButton     theBtCheck = new JButton( NAME.CHECK );
      private JButton     theBtBuy   = new JButton( NAME.BUY );
      private JButton     theBtCancel= new JButton( NAME.CANCEL );
      private JButton     theBtBought= new JButton( NAME.BOUGHT );
      private int         theState   = STATE.PROCESS;   // Current state
      private Product     theProduct = null;            // Current product
      private BoughtList  theBought  = null;            // Bought items
      private Transaction     theCB        = new Transaction();
      private StockReadWriter theStock     = null;
      private OrderProcessing theOrder     = null;
      private NumberFormat theMoney  =
              NumberFormat.getCurrencyInstance( Locale.UK );
      public CashierGUI(  RootPaneContainer rpc, MiddleFactory mf  )
        try                                             //
          theStock = mf.getNewStockReadWriter();        // DataBase access
          theOrder = mf.getNewOrderProcessing();        // Process order
        } catch ( Exception e )
          System.out.println("Exception: " + e.getMessage() );
        Container cp         = rpc.getContentPane();    // Content Pane
        Container rootWindow = (Container) rpc;         // Root Window
        cp.setLayout(null);                             // No layout manager
        rootWindow.setSize( W, H );                     // Size of Window
        Font f = new Font("Monospaced",Font.PLAIN,12);  // Font f is
        theBtCheck.setBounds( 16, 25+60*0, 80, 40 );    // Check Button
        theBtCheck.addActionListener( theCB );          // Listener
        cp.add( theBtCheck );                           //  Add to canvas
        theBtBuy.setBounds( 16, 25+60*1, 80, 40 );      // Buy button
        theBtBuy.addActionListener( theCB );            //  Listener
        cp.add( theBtBuy );                             //  Add to canvas
        theBtCancel.setBounds( 16, 25+60*2, 80, 40 );   // Cancel Button
        theBtCancel.addActionListener( theCB );         //  Listener
        cp.add( theBtCancel );                          //  Add to canvas
        theBtBought.setBounds( 16, 25+60*3, 80, 40 );   // Clear Button
        theBtBought.addActionListener( theCB );         //  Listener
        cp.add( theBtBought );                          //  Add to canvas
        theAction.setBounds( 110, 25 , 270, 20 );       // Message area
        theAction.setText( "" );                        // Blank
        cp.add( theAction );                            //  Add to canvas
        theInput.setBounds( 110, 50, 270, 40 );         // Input Area
        theInput.setText("");                           // Blank
        cp.add( theInput );                             //  Add to canvas
        theSP.setBounds( 110, 100, 270, 160 );          // Scrolling pane
        theOutput.setText( "" );                        //  Blank
        theOutput.setFont( f );                         //  Uses font 
        cp.add( theSP );                                //  Add to canvas
        theSP.getViewport().add( theOutput );           //  In TextArea
        rootWindow.setVisible( true );                  // Make visible
      class Transaction implements ActionListener       // Listener
        public void actionPerformed( ActionEvent ae )   // Interaction
          if ( theStock == null )
            theAction.setText("No conection");
            return;                                     // No connection
          String actionIs = ae.getActionCommand();      // Button
          try
            if ( theBought == null )
              int on    = theOrder.uniqueNumber();      // Unique order no.
              theBought = new BoughtList( on );         //  Bought list
            if ( actionIs.equals( NAME.CHECK ) )        // Button CHECK
              theState  = STATE.PROCESS;                // State process
              String pn  = theInput.getText().trim();   // Product no.
              int    amount  = 1;                       //  & quantity
              if ( theStock.exists( pn ) )              // Stock Exists?
              {                                         // T
                Product pr = theStock.getDetails(pn);   //  Get details
                if ( pr.getQuantity() >= amount )       //  In stock?
                {                                       //  T
                  theAction.setText(                    //   Display
                    pr.getDescription() + " : " +       //    description
                    theMoney.format(pr.getPrice()) +    //    price
                    " (" + pr.getQuantity() + ")"       //    quantity
                  );                                    //   of product
                  theProduct = pr;                      //   Remember prod.
                  theProduct.setQuantity( amount );     //    & quantity
                  theState = STATE.CHECKED;             //   OK await BUY
                } else {                                //  F
                  theAction.setText(                    //   Not in Stock
                    pr.getDescription() +" not in stock"
              } else {                                  // F Stock exists
                theAction.setText(                      //  Unknown
                  "Unknown product number " + pn        //  product no.
            if ( actionIs.equals( NAME.BUY ) )          // Button BUY
              if ( theState != STATE.CHECKED )          // Not checked
              {                                         //  with customer
                theAction.setText("Check if OK with customer first");
                return;
              boolean stockBought =                      // Buy
                theStock.buyStock(                       //  however
                  theProduct.getProductNo(),             //  may fail             
                  theProduct.getQuantity() );            //
              if ( stockBought )                         // Stock bought
              {                                          // T
                theBought.add( theProduct );             //  Add to bought
                theOutput.setText( "" );                 //  clear
                theOutput.append( theBought.details());  //  Display
                theAction.setText("Purchased " +         //    details
                           theProduct.getDescription()); //
    //          theInput.setText( "" );
              } else {                                   // F
                theAction.setText("!!! Not in stock");   //  Now no stock
              theState = STATE.PROCESS;                  // All Done
            if ( actionIs.equals( NAME.CANCEL ) )        // Button CANCEL
              if ( theBought.number() >= 1 )             // item to cancel
              {                                          // T
                Product dt =  theBought.remove();        //  Remove from list
                theStock.addStock( dt.getProductNo(),    //  Re-stock
                                   dt.getQuantity()  );  //   as not sold
                theAction.setText("");                   //
                theOutput.setText(theBought.details());  //  display sales
              } else {                                   // F
                theOutput.setText( "" );                 //  Clear
              theState = STATE.PROCESS;
            if ( actionIs.equals( NAME.BOUGHT ) )        // Button Bought
              if ( theBought.number() >= 1 )             // items > 1
              {                                          // T
                theOrder.newOrder( theBought );          //  Process order
                theBought = null;                        //  reset
              theOutput.setText( "" );                   // Clear
              theInput.setText( "" );                    //
              theAction.setText( "Next customer" );      // New Customer
              theState = STATE.PROCESS;                  // All Done
            theInput.requestFocus();                     // theInput has Focus
          catch ( StockException e )                     // Error
          {                                              //  Of course
            theOutput.append( "Fail Stock access:" +     //   Should not
                                e.getMessage() + "\n" ); //  happen
          catch ( OrderException e )                     // Error
          {                                              //  Of course
            theOutput.append( "Fail Order process:" +    //   Should not
                                e.getMessage() + "\n" ); //  happen
    }

    (disclaimer: I did not read through your Swing code, as I find that painful)
    My question is how do I access a private arraylist from a different class in the same
    package?Provide a public accessor method (getMyPrivateArrayList())

  • Accessing a JTextField from another class

    I 've got 2 classes I am trying to get the value of a JTextField that located in a second class see the code
    class1 myClass = new class1();
    String text = myClass.jTextField1.getText();
    System.out.print(text);What happens is when i run the program and enter some text in the jTextFild1 and then click on my Jbutton it does not print anything
    the JButton is in the caller class
    Could anyone explains to me what is wrong

    an example would help maybe....
    if you want to access your jtextfield from another class then:
    import javax.swing.*;
    public class FieldHolderClass {
    public JTextField jtf = null;
    public FieldHolder() {
      JFrame jf = new JFrame();
      jtf = new JTextField();
      jtf.setText("this is the text that is here when other callerclass seeks for text");
      jf.getContentPane().add(jtf);
      jf.setVisible(true);
    public class CallerClass {
    public static void main(String args[]) {
      FieldHolderClass fHolder = new FieldHolderClass();
      System.out.println((fHolder.jtf.getText());
    }of course i have not written any swing app for a long time, so i might have forgotten everything... so, don't flame me when that code does not compile.
    the thing that it's supposed to show, is that you make a <b>public</b> variabel (jtf) and you simply ask for it from another class by typing holderclass instances name dot and that variable name (in this case jtf) and dot and then call the method on that variable (or object...)
    it might also be that you want your code to work the way that when you enter a text into jtextfield, then after pressing enter it would get printed on terminal...
    in that case you should also register some Listeners... i remember that back when i was just getin' to know java then i had problems with it as well... but then again, i didn't read any manuals...
    i hope i was somewhat help...

  • Easy question: Give access to a class in another class.

    Stupid title, but dont know how to express myself :P Sorry for that.
    To the problem. Never had this problem before, and I know its a really easy solution to this.
    I have my Main class, which creates a MyView class. Inside this class, I make to new classes(or instances of classes i've already made), MyPanel and MyToolsPanel. Now I want to add buttons inside the MyToolsPanel class, and add actionlisteners to these buttons inside MyPanel.
    What I'v always done to grant access to MyToolsPanel inside of MyTools, is to simply add a
    //this is the MyPanel class
    MyToolsPanel mtp;
    public void setMtp(MyToolsPanel mtp){
    this.mtp = mtp;
    }and then in the MyView class which create these to classes, I put a command: mp.setMtp(mtp);
    When I run this it doesnt work.. Why? Should be easy to solve, since it obviously is a stupid problem that I just dont see. :P Feeling kind of stupid to ask this question, but this is how it is...
    EDIT: I might have to implement actionListener inside the MyToolsPanel class?
    Edited by: Stianbl on Sep 28, 2008 4:59 PM

    one way:
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    * Subclasses JPanel, can send text out via the getText() method
    * can hook into button press via addActionListener
    * @author Pete
    public class PanelCommSender extends JPanel
      private JTextField sendingField = new JTextField(12);
      private JButton sendButton = new JButton("Send");
      public PanelCommSender()
        add(sendingField);
        add(sendButton);
      public void addActionListener(ActionListener al)
        // attach this listener to the button
        sendButton.addActionListener(al);
       * call this to get the text currently in the textfield
       * @return String text
      public String getText()
        return sendingField.getText();
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    * Subclasses JPanel, receives text from another class
    * @author Pete
    public class PanelCommReceiver extends JPanel
      private JTextField showResultsField = new JTextField(12);
      public PanelCommReceiver()
        showResultsField.setEditable(false);
        add(new JLabel("Results from other panel: "));
        add(showResultsField);
       * call this to set text of textField
       * @param text
      public void setText(String text)
        showResultsField.setText(text);
    import java.awt.Dimension;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    public class PanelCommControl
      private static void createAndShowUI()
        // create new instances of the receiving and sending panels:
        final PanelCommReceiver receivePanel = new PanelCommReceiver();
        final PanelCommSender sendPanel = new PanelCommSender();
        // let the communicate w/ each other
        sendPanel.addActionListener(new ActionListener()
          public void actionPerformed(ActionEvent e)
            receivePanel.setText(sendPanel.getText());
        // place the receiving JPanel into a JFrame
        JFrame frame = new JFrame("Receiving Panel");
        frame.getContentPane().add(receivePanel);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setPreferredSize(new Dimension(300, 300)); // make it bigger so it can be seen
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        // place the sending JPanel into a JDialog
        JDialog dialog = new JDialog(frame, "Sending Panel", false);
        dialog.getContentPane().add(sendPanel);
        dialog.pack();
        dialog.setLocationRelativeTo(null);
        dialog.setVisible(true);
      public static void main(String[] args)
        java.awt.EventQueue.invokeLater(new Runnable()
          public void run()
            // run the whole show in a thread-safe manner
            createAndShowUI();
    }

  • Can I use the new Time Capsule to backup my mid 2010 Macbook Pro? Also can I want to free up my hard disk, can I save my photos and files on the time capsule and later access through wifi?

    Can I use the new Time Capsule to backup my mid 2010 Macbook Pro? Also can I want to free up my hard disk, can I save my photos and files on the time capsule and later access through wifi?

    Can I use the new Time Capsule to backup my mid 2010 Macbook Pro?
    Yes, if you are asking about using Time Machine to backup the Mac.
    Also can I want to free up my hard disk, can I save my photos and files on the time capsule and later access through wifi?
    You are not thinking of deleting the photos and files on your Mac, are you?  If you do this, you will have no backups for those files.
    Another concern is that Time Machine backs up the changes on your Mac. At some point, Time Machine will automatically delete the photos and files from the Time Capsule.....you just don't know when this might occur.
    In other words, only delete files from your Mac that you can afford to lose.

Maybe you are looking for

  • Music purchased on itunes no longer plays

    I recently bought several CDs worth of music for my iPod mini on iTunes and had absolutely no problems at all until the other day, when I discovered that the purchased songs will no longer play. The songs are still displayed as being available for li

  • Error in installing applications-Not able to install any applications

    Hello,  I bought Blackberry Z3 on just 3 days back,  I am not able to install any Applications. (Example: Wikipedia, News, WhatsApp.. etc) After download complete it is always showing " Error in installing application" If i Check inside Myworld -? Ac

  • Reader 10.1.4. Printing PDF by command line

    Hi In an application I have developed I print PDF files to a defined printer using command line, such as "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\acrord32.exe" /N /T "myPDFfile.pdf" "\\servername\printername" I have noticed a change of behavi

  • When i try to do slow motion, program crashes

    whenever i try to do slow motion or hold or fast motion, final cut pro x crashes.

  • Hyper-V Failover Cluster Live migration over Virtual Adapter

    Hello, Currently we have a test environment 3 HyperHost wich have 2 Nic teams.  LAN team and team Live/Mngt. In Hyper-V we created a Virtual Switch (Wich is Nic team Live/Mngt) We want to seperate the Mngt and live with Vlans. To do this we created 2